#include #include typedef int elemtype;
typedef struct node
*linklist,linknode;
//鍊錶初始化
linklist initlinklist()
head->next=null;
printf("鍊錶初始化成功!\n");
return head;
}//頭插法建立鍊錶
void creatlinklist(linklist l,int a,int n)
printf("鍊錶建立成功!\n");
}//列印鍊錶
void printlinklist(linklist head)
printf("\n");
}//查詢鍊錶元素下標
int linklistfind(linklist head,int data)
return 0;
}//鍊錶插入
int linklistinsert(linklist head,int data1,int data2)
p=p->next;
}return 0;
}//鍊錶刪除
int linklistdelete(linklist head,int data)
p=p->next;
}return 0;
}//判斷鍊錶是否為空
int isempty(linklist head)
return 0;
}//清空鍊錶
int linklistclear(linklist head)
return 0;
}//銷毀鍊錶
int linklistdestory(linklist head)
free(head);
return 1;
}return 0;
}//求鍊錶長度
int linklistlength(linklist head)
return i;
}//求結點後繼
int nextelem(linklist head,elemtype e)
p=p->next;
}return 0;
}//求結點前趨
int priorelem(linklist head,elemtype e)
else
}p=p->next;
}return 0;
}//獲取第index個元素
int getelem(linklist head,int index)
p=p->next;
}return 0;
}int main()
int n,a[100],i;
printf("請輸入數字n:\n");
scanf("%d",&n);
printf("請輸入%d個數字建立鍊錶:\n",n);
for(i=0; icreatlinklist(head,a,n);
printlinklist(head);
int insertnum,newnode;
printf("請輸入要插入的位置的結點和插入的結點:\n");
scanf("%d %d",&insertnum,&newnode);
if(linklistinsert(head,insertnum,newnode))
else
int deletenum;
printf("請輸入要刪除的結點:\n");
scanf("%d",&deletenum);
if( linklistdelete(head,deletenum))
else
int findnum,index,k1,no;
printf("請輸入要查詢的元素:\n");
scanf("%d",&findnum);
if(index=linklistfind(head,findnum))
else
if(k1=priorelem(head,findnum))
else
}else
if(k1=nextelem(head,findnum))
else
}else
printf("請輸入下標:\n");
scanf("%d",&no);
if(k1=getelem(head,no))
else
/* if(linklistclear(head))
*/if(linklistdestory(head))
return 0;
}
C語言實現鍊錶基本操作
之前說過順序表的基本操作。顯然,順序表有乙個很大的缺點,就是做插入刪除操作的時候,往往要做很大量的元素移動的操作。這裡我們討論另外一種線性表的表示方法 鏈式儲存結構。由於它不需要邏輯上的相鄰的元素在物理位置上也相鄰,因此它沒有順序儲存結構所具有的弱點,但是同時也失去了順序表的可隨機訪問的有點。inc...
C 實現鍊錶基本操作
前幾天找實習的時候,乙個面試官給我留了乙個題,做乙個鍊錶demo,要求實現建立 插入 刪除等操作。鍊錶是一種常見的資料結構,它是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。...
鍊錶的基本操作(C語言實現
鍊錶的基本操作 c語言實現 include include define ok 1 define error 0 typedef int elemtype typedef int status typedef struct lnodelnode,linklist status initlist l ...