#include#include#include
typedef
intdatatype;
typedef
struct nodelistnode,*linklist;
listnode *p;
linklist head;
/*注意:定義結點結構時,有幾點需要注意:linklist和listnode *是不同名字的同乙個指標型別,linklist型別的指標變數head表示他是單鏈表的頭指標,listnode *型別的指標變數p表示它是指向某一結點的指標
*/linklist initlist()
l->next=null;
returnl;}
linklist creatlistf()
l->next=null;
scanf("%d
",&x);
while(x!=0
)
s->data=x;
s->next=l->next;
l->next=s;
scanf("%d
",&x);
}returnl;}
linklist creatlistl()
listnode *s,*r;
r=l;
scanf("%d
",&x);
while(x!=0)/*
以0輸入表示結束
*/ s->data=x;
r->next=s;
r=s;
scanf("%d
",&x);
}r->next=null;/*
單鏈表的最後乙個指標為空
*/returnl;}
intgetlength(linklist l)
return
(num);
}listnode *getnode(linklist l,int
i) p=l->next;
while(p!=null&&jreturnp;}
intlocatelisti(linklist l,datatype x)
if(p==null)
return0;
else
return
i;}
void insertlist(linklist l,datatype x,int
i) s=(listnode *)malloc(sizeof
(listnode));
if(s==null)
s->data=x;
while(j<=i)
s->next=p;
q->next=s;
}void deletelist(linklist l,int
i)
while(jq=p->next;
p->next=q->next;
free
(q);
}void
printlist(linklist l)
printf("\n
");}int
main()
單鏈表常見功能的實現 以及逆轉等
include define size 40 using namespace std 實現乙個棧,用於後面將鍊錶中的元素先壓棧再彈出棧實現反向列印的功能 int stack size int top 0 棧頂指標 判空 int is empty 判滿 int is full 壓棧 void push...
單鏈表結構實現增刪查以及合併功能
資料結構鍊錶結構,實現增刪查以及兩個鍊錶合併功能,vc 環境,直接複製貼上就能執行。include include define error 0 define ok 1 typedef int status typedef int elemtype typedef struct node lnode...
單鏈表簡單功能實現
看了鍊錶題,基本上不會做,然後各種找部落格,初次嘗試寫了寫,感覺指定值刪除的功能有點難 所以沒有寫,待學習過後會補上 其他的還可以,這裡面的尤其要注意的是用temp轉換head進行遍歷,主要的 如下,大神多給點學習的建議,謝謝 這是功能體 package csdn public class link...