鍊錶的基本操作【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...