單鏈表頭插法c語言

2021-10-09 22:59:29 字數 1950 閱讀 2422

#include

#include

typedef

int elemtype;

typedef

struct nodelinknode,

*linklist;

/*p: pointer

q: next character of p,another pointer

*/linklist creat_linklist()

//頭插入法建立單鏈表演算法

return head;

}void

outputnode

(linklist l)

printf

("%4d"

,p->data)

;//列印最後乙個元素

}/*按序號查詢 get_linklist(l,i)

在單鏈表l中查詢第i個元素結點,找到返回其指標,否則返回空*/

/*插入運算 insert_linklist(l,i,x)

在單鏈表l的第i個位置上插入值為x的元素*/

linklist insert_linklist

(linklist l,

int i, elemtype x)

if(p1==

null

&&i>index)

return

null

;else

p=p->next;

flag++;}

}}/*刪除運算:del_linklist(l,i)

刪除單鏈表l上的第i個資料結點*/

intdel_linklist

(linklist l, elemtype i)

if(p1==

null

&&i>index)

return0;

int flag=1;

linknode *p;

linknode *t;

p=l;

//指向頭結點後的第乙個結點

while

(p->next!=

null

) p=p->next;

flag++;}

}/*按序號查詢 get_linklist(l,i)

在單鏈表l中查詢第i個元素結點,找到返回其指標,否則返回空*/

linknode *

locatenode

(linklist head,elemtype i)

p=p->next;

flag++;}

}int

main()

else

printf

("插入操作失敗\n");

break

;case3:

printf

("請輸入刪除元素的位置:");

scanf

("%d"

,&i)

; k=

del_linklist

(l,i);if

(k==0)

printf

("刪除失敗\n");

else

break

;case4:

printf

("請輸入要查詢的序號i:");

scanf

("%d"

,&i)

; p=

locatenode

(l,i);if

(p!=

null

)else

printf

("鍊錶中無此序號!!\n");

break

;case5:

printf

("鍊錶的儲存順序為:");

outputnode

(l);

break;}

}while

(k!=0)

;return0;

}

單鏈表頭插法

include includetypedef struct node snode snode creat 建立頭結點 for i 1 idata x s next head head s return head int lenth snode l 求鍊錶的長度 return len snode ge...

單鏈表 頭插法

include include list.h int main node head null register int i 0 int n sizeof a sizeof a 0 for ireturn 0 include list.h include include node list creat...

單鏈表頭插法尾插法

標頭檔案如下 ifndef linklist h define linklist h define success 10000 define failure 10001 define size 10 typedef int element struct node typedef struct nod...