#include#includetypedef int elementtype;
typedef struct nodenode, *linklist; /*linklist為結構指標型別*/
linklist createlist();//建立鍊錶
void inserthead(linklist l, elementtype x);//頭插法
void inserttail(linklist l, elementtype x);//尾插法
void insertlist(linklist l, int i, elementtype x);//任意位置插法
void outputlist(linklist l);//輸出鍊錶
int deletelist(linklist l, int n);//刪除鍊錶中的指定數字
void disposelist(linklist l);//鍊錶銷毀
int deletelist(linklist l, int i, elementtype *x);//刪除鍊錶中第i個結點,並且用x帶出刪除的值
int listlength(linklist l); //獲取鍊錶長度
node* locate(linklist l, int i); //返回鍊錶中第i個結點
node* find(linklist l, elementtype x);//鍊錶中查詢是否結點的資料等於x,如果存在,返回該結點的指標,否則返回null
int main()
; for(int i=0; i<10; i++)
outputlist(l);
return 0;
}linklist createlist()
void inserthead(linklist l, elementtype x)
void inserttail(linklist l, elementtype x)
s = (node *)malloc(sizeof(node));
s->data = x;
s->next = pre->next;
pre->next = s;
}void insertlist(linklist l, int i, elementtype x)
s = (node *)malloc(sizeof(node));
s->data = x;
s->next = pre->next;
pre->next = s; }
void outputlist(linklist l)
printf("\n");
}int deletelist(linklist l, int n)
if(p == null)else
}void disposelist(linklist l) }
int deletelist(linklist l, int i, elementtype *x)
if(p == null || i < 1 || p->next == null)
temp = p->next;
p->next = temp->next;
*x = temp->data;
free(temp);
return 1;
}int listlength(linklist l)
return len;
}node* locate(linklist l, int i)
return p;
}node* find(linklist l, elementtype x)
return p;
}
C語言鍊錶綜合操作
預處理命令 include include define len sizeof struct student define format ld,f define p format ld 5.1f n define null 0 構造結構體 struct student 構造乙個結構體型別 int n...
鍊錶操作集合 C語言
主要是給自己以後複習知識,還有進行修改優化用的 歡迎批評,其中鍊錶合併的就地合併我並未掌握,我用了新的頭結點以後要補上 首先是標頭檔案定義 ifndef andrew define andrew include include include include include define size ...
C語言(5) 鍊錶操作
1.顯示鍊錶元素 1 把鍊錶首結點作為當前結點 2 判斷當前結點是否為null,為null則輸出結果 3 輸出當前結點的值 4 把鍊錶的下一結點作為當前結點 5 重複執行步驟 1 3 例.編寫乙個函式,顯示head指向開始結點的鍊錶所有元素。struct snode void write struc...