#include"head.h"
//建立乙個空鍊錶
linklist list_creat()
l->date=0;
l->next=null;
return l;
}//尾插法
int list_inset_tail(linklist l,int value)
s->next=null;
p->next=s;
return 0;}/*
//尾插法也就是正常的輸入和輸出
linklist list_inset_tail()
l->date=0;
l->next=null;
r=l;
while(1)
p=(linklist)malloc(sizeof(lnode));//建立乙個新結點
if(p==null)
p->date=value;
p->next=null;
r->next=p;
r=p;
} return l;
}*///通過位置來查詢
linklist list_find(linklist l,int n)
/* while(p->next&&jnext;
j++;
}*/while(p&&jnext;
j++;
}/* if(!p||j>n)//
else
*/ if(j==n)
else
}//按數值進行查詢
linklist list_pos_find(linklist l,int value)
return p;
}//插入資料使用的頭插法
int list_inset_head(linklist l,int value)
p->date=value;
p->next=l->next;
l->next=p;
return 0;
}//插入某個位置資料
int list_pos_inset(linklist l,int i,int value)
else
s=(linklist)malloc(sizeof(linklist));//建立乙個結點
if(s==null)
else
return 0;
}//在某個位置刪除資料需要找到的它的前驅
int list_del(linklist l,int i)
else
if(p==null||p->next==null)
else }
//實現函式中的資料倒置使用頭指標
void list_up_down(linklist l)
}//刪除頭結點
int list_del_head(linklist l)
//刪除尾結點
int list_del_tail(linklist l)
s=p->next;
value=s->date;
free(s);
s=null;
p->next=null;
return value;
}//遍歷
void list_show(linklist l)
}
#ifndef __head_h
#define __head_h
#include#include#include//建立乙個結構體
typedef struct list lnode,*linklist;
//函式的宣告
linklist list_creat();
int list_inset_head(linklist l,int value);
void list_show(linklist l);
int list_inset_tail(linklist l,int value);
//linklist list_inset_tail();
linklist list_find(linklist l,int n);
linklist list_pos_find(linklist l,int value);
int list_pos_inset(linklist l,int i,int value);
int list_del(linklist l,int i);
void list_up_down(linklist l);
int list_del_head(linklist l);
int list_del_tail(linklist l);
int list_del_date(linklist l);
int list_update_pos(linklist l,int pos,int value);
void list_change_old(linklist l,int oldate,int newdate);
#endif
#include"head.h"
int main(int argc ,char *ar**)
else
*/ /* l=list_inset_tail();
list_show(l);*/
/* printf("input is a value\n");
scanf("%d",&x);
p=list_find(l,3);
printf("%d\n",p->date);
*//* l=list_inset_tail();
list_show(l);*/
return 0;
}
c語言 鍊錶 C語言鍊錶例項 玩轉鍊錶
下圖為最一簡單鍊錶的示意圖 第 0 個結點稱為頭結點,它存放有第乙個結點的首位址,它沒有資料,只是乙個指標變數。以下的每個結點都分為兩個域,乙個是資料域,存放各種實際的資料,如學號 num,姓名 name,性別 和成績 score 等。另乙個域為指標域,存放下一結點的首位址。鍊錶中的每乙個結點都是同...
c語言鍊錶 鍊錶
在儲存一大波數的時候,我們通常使用陣列,但有時候陣列顯得不夠靈活,比如有一串已經從小到大排序好的數 2 3 5 8 9 10 18 26 32 現在需要往這串數中插入6使其得到的新序列仍符合從小到大排列。如果我們使用陣列來實現這一操作,則需要將8和8後面的數字都依次往後挪一位,如果你覺得這幾個數不算...
鍊錶演算法題,使用語言c 編寫
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...