資料結構單鏈表的各種操作

2021-06-14 11:04:55 字數 2461 閱讀 6663

/**

標頭檔案stu.h

@jeasn168

*/#include#include#define maxs 50

typedef struct

stu;

//輸出stu

void dispstu(const stu &s)

//比較stu型別

int isequal(const stu &a,const stu &b)

/**單鏈表linklist.cpp

@jeasn168

*/#include#include#include"stu.h"

typedef stu elemtype;

//定義單鏈表結構

typedef struct lnode

linklist;

//頭插法建立單鏈表

void createlistf(linklist *&l,const elemtype *a,const int n)}

//尾插法建立單鏈表

void createlistr(linklist *&l,const elemtype *a,const int n)

r->next=null;

}//判斷鍊錶是否為空

int listempty(linklist *l)

//輸出單鏈表

void displist(linklist *l)}

//銷毀單鏈表

void destroylist(linklist *&l)

}free(p);}

//插入元素

int listinsert(linklist *&l,const int i,const elemtype &e)

if(j!=i)

else

return 1;}

//刪除給定位置元素

int listdelete(linklist *&l,const int i,elemtype &e)

if(j!=i)

else

return 1;}

//按元素的值查詢元素位置

int locteelem(linklist *l,const elemtype &e)

if(p->next==null)

else

} //求鍊錶長度

int listlength(linklist *l)

return len;}

//求單鏈表中指定位置的元素

int getelem(linklist *l,const int i,elemtype &e)

while(j!=i&&p!=null)

e=p->data;

printf("查詢的元素為:\n");

dispstu(e);

return 1; }

int main()

,,,,};

stu st1=,st2;

linklist *stulist;

int len=0;

//頭插法建立學生單鏈表

printf("頭插法建立學生單鏈表:\n");

createlistf(stulist,student,5);

printf("*********************\n");

displist(stulist);

destroylist(stulist);

//尾插法建立學生單鏈表

printf("尾插法建立學生單鏈表:\n");

createlistr(stulist,student,5);

printf("*********************\n");

displist(stulist);

if(listinsert(stulist,10,st1))

else

printf("插入失敗!\n");

printf("*********************\n");

displist(stulist);

listdelete(stulist,1,st2);

//查詢給定元素在單鏈表中的位置

locteelem(stulist,st2);

printf("刪除元素的學生單鏈表:\n");

printf("*********************\n");

displist(stulist);

//查詢給定位置元素

getelem(stulist,12,st2);

//查詢給定元素在單鏈表中的位置

locteelem(stulist,st2);

len=listlength(stulist);

printf("鍊錶長度為:%d\n",len);

destroylist(stulist);

return 0;

}

資料結構 單鏈表的各種操作08

鍊錶 1.建立鍊錶 2.列印鍊錶 void printlist tylist m phead printf n n 3.銷毀鍊錶 4.按值插入元素,在某一元素前 5.按值刪除元素 6.鍊錶逆置 void reverselist tylist m phead tylist m ppre m phead...

資料結構單鏈表的各種操作C 實現

該程式實現了線性表的鏈式儲存結構之單鏈表和各項操作 include include using namespace std 線性表和一些基礎的定義 define elemtype int 表中資料元素型別 typedef struct nodelnode,linklist define ok 1 d...

資料結構 單鏈表的操作

單鏈表的操作 輸入一組整型元素序列,使用尾插法建立乙個帶有頭結點的單鏈表。實現該線性表的遍歷。在該單鏈表的第i個元素前插入乙個整數。刪除該單鏈表中的第i個元素,其值通過引數將其返回。建立兩個按值遞增有序的單鏈表 將他們合併成乙個按值遞減有序的單鏈表。要求利用原來的儲存空間 這是我資料結構老師留下的實...