有效輸入域檢測
bool chec(int max, int
k) cout
<< "
the number must 1 to
"<< max <
;
return
false;}
//輸出有效資料
void put(const
int (&a)[n], int
n) cout
<
for (int i = 0; i < n; i++)
}//刪除int del(int (&a)[n], int
k) a[n - 1] = 0
;
return
temp;}//
插入void ins(int (&a)[n], int k, int
x) a[k - 1] =x;}//
比較bool match(const
int (&a)[n])
}return
true;}
intmain()
put(ar, n);
while (!gameover)
while (!chec(n, key1));
int temp =del(ar, key1);
put(ar, n - 1
); cout
<< "
printf insert postion:";
do while (!chec(n, key2));
ins(ar, key2, temp);
put(ar, n);
sub++;
if(match(ar))
}return0;
}
#include #include//節點定義#include
#include
using
namespace
std;
const
int n = 15
;typedef
struct node *list;
struct
node;//
檢測輸入
bool chec(int max, int
k) cout
<< "
the number must 1 to
"<< max << ":"
;
return
false;}
//建立鍊錶
list createlist(int
n)
return
head;}//
輸出鍊錶
void printlist(list t, intl)}
//刪除
list del(list &t, int
k)
else
rtemp = temp->next;
temp->next = rtemp->next;
rtemp->next =null;
return
rtemp;
}}//
插入void ins(list &t, int k, list &p)
else
p->next = temp->next;
temp->next =p;
}}//
比較bool match(list &t, int
n)
else
}return
true;}
//編號輸出
void put(int
n) cout
<
}int
main()
while (!chec(n, key1));
put(n - 1
); list temp =del(l1, key1);
printlist(l1, n - 1
); cout
<< "
printf insert postion:";
do while (!chec(n, key2));
put(n);
ins(l1, key2, temp);
printlist(l1, n);
sub++;
if(match(l1, n))
}return0;
}
typedef node* list;
strcut node
elementtype data;
list next;
線性表常規操作:
list makeempty(); //初始化空表
elementtype findkth(int k, list l); //根據位序k返回相應元素;
int find(elementtype x, list l); //根據元素x,返回在表中對應的位置;
int length(list l); //返回線性表長度;
void delete(int k, list l); //刪除指定位置元素;
void insert(elementtype x, int k, list l); //在指定位置插入指定元素;
#pragma gcc diagnostic error "-std=c++11"#includeusing
namespace
std;
template
struct
lnode
;template
using list = lnode*;
//建立空鍊錶
template list
createlist()
//求表長
template int length(listn)
returni;}
//查詢特定元素
template list
findkth(int k, listn)
else
return
temp;
}}//
控值查詢
template int find(t x, listn)
if (i >length(n))
else}//
插入節點
template void insert(t x, int k, list&n)
else
else
}}//
刪除節點
template void delet(int k, list&n)
else
if (k !=length(n))
else}//
輸出鍊錶值
template void printlist(listn)
cout
<
}int
main()
資料結構練習 鍊錶
最近開始學資料結構,準備把做的習題 屯部落格裡。pragma once include include using namespace std 復合類 class list class linknode class list 巢狀類 class list linknode first 用struct...
資料結構練習 雙向鍊錶
複習一下資料結構。說不准下個星期就用上了 只不過寫的很簡單,沒有封裝 doublelinklist.h ifndef guard doublelinklist h define guard doublelinklist h include struct listnode listnode getne...
資料結構基礎 鍊錶練習
例題6 4 破損的鍵盤 鍊錶 include include const int maxn 100000 5 int last,cur,next maxn 游標位於cur號字母的後面 char s maxn int main for int i next 0 i 0 i next i printf ...