單鏈表的基本操作

2022-03-19 21:09:54 字數 2982 閱讀 5301

實現單鏈表的基本操作(建立,查詢,插入,刪除,銷毀,歸併,排序)

建立鍊錶 la

鍊錶初始化成功

請輸入la中元素的個數:

9請輸入第

9 個元素:9

請輸入第

8 個元素:8

請輸入第

7 個元素:7

請輸入第

6 個元素:6

請輸入第

5 個元素:5

請輸入第

4 個元素:4

請輸入第

3 個元素:3

請輸入第

2 個元素:2

請輸入第

1 個元素:112

3456

789建立鍊錶 lb

鍊錶初始化成功

請輸入lb中元素的個數:

5請輸入第

5 個元素:9

請輸入第

4 個元素:7

請輸入第

3 個元素:5

請輸入第

2 個元素:3

請輸入第

1 個元素:113

579合併鍊錶 la lb

鍊錶初始化成功11

2334

5567

7899

請按任意鍵繼續. . .

//

----------------------------單鏈表的儲存表示-------------------------------

#include

#include

#define ok 1

#define error 0

#define true 1

#define false 0

#define overflow -1typedef

intstatus;

typedef

intelemtype;

typedef

struct

lnode

lnode, *linklist;

status initlist_l(linklist *l) ;

status createlist_l(linklist *l, int

n);status listinsert_l(linklist *l, int

i, elemtype e);

status listdelete_l(linklist *l, int i, elemtype *e);

status displaylist_l(linklist *l);

status getelem_l(linklist l,

int pos, elemtype *e);

status locateelem_l(linklist l,

int *pos, elemtype e);

status mergelist_l(linklist *la, linklist *lb, linklist *lc);

intmain()

status initlist_l(linklist *l)

(*l)->next =null;

printf_s(

"鍊錶初始化成功\n");

return

ok;}

//initlist_l

status createlist_l(linklist *l, int

n)

return

ok;}

//createlist_l

status listinsert_l(linklist *l, int

i, elemtype e)

if (!p || j > i - 1

)

s = (linklist) malloc(sizeof

(lnode));

s->data =e;

s->next = p->next;

p->next =s;

return

ok;}

//listinsert_l

status listdelete_l(linklist *l, int i, elemtype *e)

if (!(p->next) || j > i - 1

)

q = p->next;

p->next = q->next;

e = &(q->data);

free(q);

return

ok;}

//listdelete_l

status displaylist_l(linklist *l)

printf_s("\n

");return

ok;}

//displaylist_l

status getelem_l(linklist l,

int pos, elemtype *e)

if (!p || j e = &(p->data);

return

ok;}

//getelem_l

status locateelem_l(linklist l,

int *pos, elemtype e)

if(!p)

*pos =i;

return

ok;}

//locateelem_l

status destroylist_l(linklist l)

//銷毀鍊錶

l =null;

return

ok;}

//destroylist_l

status mergelist_l(linklist *la, linklist *lb, linklist *lc)

else

}pc->next = pa ?pa : pb;

free(*lb);

return

ok;}

//mergelist_l

單鏈表基本操作

include include include include includeusing namespace std typedef struct node node,plinklist plinklist createfromhead node pstnode node malloc sizeof...

單鏈表基本操作

單鏈表的初始化,建立,插入,查詢,刪除。author wang yong date 2010.8.19 include include typedef int elemtype 定義結點型別 typedef struct node node,linkedlist 單鏈表的初始化 linkedlist...

單鏈表基本操作

include using namespace std define namelenth 20 define ok 0 define error 1 typedef struct flagnode node 生成結點 inline node newnode 銷毀化煉表 void destroylin...