對於鍊錶的操作

2021-07-05 20:51:49 字數 1378 閱讀 6065

#include #include #include #define list_init_size 80 // 線性表儲存空間的初始分配量

#define listincrement 10 // 線性表儲存空間的分配增量

using namespace std;

typedef int status;

typedef int elemtype;

//建立順序表

typedef structsqlist;

//採用氣泡排序對線性表進行公升序排列

void sort(sqlist &l)

//查詢元素e在第幾個位置

status locateelem(sqlist l,elemtype e)

int *q,*p;

q=&(l.elem[i-1]);//指標q表示插入位置

for(p=&(l.elem[l.length-1]);p>=q;p--)

*q=e;//插入元素e

l.length++;//順序表長度加1

return 1;

}//刪除i位置上的元素

status listindele(sqlist &l,int i,int &e)

//輸入鍊錶函式

status listinprint(sqlist &l)

}//清空順序表

void listclear(sqlist &l)

//銷毀順序表

void destroylist(sqlist &l)

//合併順序表

void mergelist(sqlist la,sqlist lb,sqlist &lc)

while (pa<=pa_last) *pc++=*pa++;//若 la 不空

while (pb<=pb_last) *pc++=*pb++;//若 lb 不空

// printf("\n合併之後的順序表為:\n");

// for(int i=0;i// printf("\n");

}int operate(sqlist &l)

else if(xp==2)

else if(xp==3)

else if(xp==4)

else if(xp==0)

return 1;

}int main()

else if(op==2)

else if(op==3)

printf("\n");

return 0;

}else if(op==0)

else}}

//operate(la);

//operate(lb);

return 0;

}

對於建立鍊錶引發的思考

今天刷到一道鍊錶建立的題。平時做的基本是題目給你提供好的鍊錶,而不需要自己建立。舉個例子,對於vector來說,其實,當我們宣告如 vectorv 10,0 所呼叫的vector類的建構函式內部呼叫了new來給物件分配了空間。因此,當你需要建立諸如 鍊錶,二叉樹等結構時,對於每乙個新加入結點,都必須...

MySQL中對於表的操作

建立表 create table table name field1 datatype,field2 datatype,field3 datatype character set 字符集 collate 校驗規則 engine 儲存引擎 不同的儲存引擎,建立表的檔案不一樣。例如儲存引擎是myisam...

鍊錶的操作

鍊錶是資料結構中的乙個重要組成部分,對鍊錶操作的熟練度怎麼要求都不過分。只有部分核心 主要內容 1 鍊錶的建立 2 鍊錶的釋放 3 鍊錶的查詢 4 鍊錶中節點的插入 5 鍊錶中節點的刪除 6 鍊錶的反轉 7 兩個鍊錶的連線 define max 15 節點宣告 struct list typedef...