單鏈表 的基本操作 c語言實現

2021-08-14 10:07:30 字數 1709 閱讀 1775

鍊錶的基本操作【c語言實現】

執行環境:dev-c++ 5.11

以下為原始碼,如有不正確的地方歡迎指正!

#include

#include

#define false 0 

#define true  1 

typedef int datatype;

typedef struct nodelinklist;

linklist *initlist(linklist *l)    //初始化鍊錶 

void destroylist(linklist *l)   //銷毀單鏈表 

free(pre);

} int  listempty(linklist *l)

void create_linkf(linklist *p,datatype *value,int n)//頭插法 

}void create_linkr(linklist *p,datatype *value,int n)//尾插法 

p->next=null;

} void displist(linklist *l) //顯示鍊錶 

putchar(10);

}int listlength(linklist *l) //計算鍊錶的長度 

return n;

}int locateelem(linklist *l,datatype e,int *p) //查詢某一元素的下標 

}return j;

}int linklistinsert(linklist *l,int i,datatype value) //在指定下標插入元素 

if(l==null)

else

}int listdelete(linklist *l,int i) //刪除指定下標的元素 

if(l==null)

else

} int main()

printf("請選擇(1)頭插法建立鍊錶。(2)尾插法建立鍊錶。\n");

scanf("%d",&flag);

if(flag==1)

else if(flag==2)

if(listempty(l)==false)

else if(listempty(l)==true)

printf("該鍊錶長度=%d\n",listlength(l));

printf("請輸入要查詢的數:\n");

scanf("%d",&value);

int j=locateelem(l,value,p);

for(i=0;iprintf("%d的下標為:%d \n",value,*(p+i));

printf("請輸入要插入的位置以及要插入的值:\n");

scanf("%d",&i);

scanf("%d",&value);

linklistinsert(l,i,value);

printf("執行插入操作之後的鍊錶為:\n");

displist(l);

printf("請輸入要刪除數的下標:\n");

scanf("%d",&i);

listdelete(l,i);

printf("執行刪除操作後的鍊錶:\n");

displist(l);

destroylist(l);

return 0;

}

單鏈表的基本操作(C語言實現)

單鏈表的初始化,建立,插入,查詢,刪除。include include typedef int elemtype 定義結點型別 typedef struct node node,linkedlist 單鏈表的初始化 linkedlist linkedlistinit 單鏈表的建立1,頭插法建立單鏈表...

C語言實現單鏈表的基本操作

listnode.h ifndef listnode h define listnode h include stdio.h include assert.h include stdlib.h typedef int datatype typedef unsigned int size t type...

單鏈表的基本操作(C語言實現)

首先我來介紹一下要實現的的單鏈表基本基本操作有哪些 建立節點,頭尾的插入和刪除,某個位置的插入和刪除,查詢某個資料是否存在於單鏈表中。我們將從以下四方面對上述操作進行實現。1 單鏈表的結構體 typedef struct listnode listnode 2 以下是我們要實現的函式介面 listn...