鍊錶基本操作實現 c語言

2021-09-03 07:46:37 字數 2327 閱讀 2747

#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 ...