順序鍊錶的插入刪除等操作 C語言

2021-07-22 06:58:13 字數 1702 閱讀 1689

//順序表的操作

#include "stdio.h"

#include "string.h"

#include "stdlib.h"

//定義表的最大長度

#define maxlen 100

//定義結點的關鍵字

typedef struct  

data;

//定義順序表的結構

typedef struct  

sltype;

//初始化順序表

void slinit(sltype *sl)

//求順序表的長度

int sllength(sltype *sl)

//插入

int slinsert(sltype *sl,int n,data data)

if(n<1||n>sl->listlen-1)

for(i=sl->listlen;i>=n;i++)

sl->listdata[n]=data;

//插入節點後長度增加1

sl->listlen++;

return 1;

}//增加元素到順序表的尾部

int sladd(sltype *sl,data data)

sl->listdata[++sl->listlen]=data;

return 1;

}//刪除順序表中某個資料元素

int sldelete (sltype *sl,int n)

//刪除後順序表中的資料前移

for(i=0;ilistlen;i++)

sl->listlen--;//元素個數減少1

return 1;

}//根據序號返回資料元素

data *slfindbynum(sltype *sl,int n)

//返回要查詢的資料

return &(sl->listdata[n]);

}//按照關鍵字查詢資料

int slfindbycont(sltype *sl,char *key)

//否則就沒找到  ?

return 0;

}//return 0;

}//顯示順序表中的所有結點

int slall(sltype *sl)

return 0;

}int main()

}//跳出死迴圈

else

} while (1);

printf("\n順序表中的結點順序為:\n");

//顯示所有的資料

slall(&sl);

//清空緩衝區

fflush(stdin);

printf("\n要取出的結點的序號:");

//輸入結點序號

scanf("%d",&i);

//按照序號查詢結點

pdata=slfindbynum(&sl,i);

//若返回的結點非空

if(pdata)

//清空輸入緩衝區

fflush(stdin);

printf("要查詢的結點的關鍵字:\n");

scanf("%s",key);

i=slfindbycont(&sl,key);

//按序號查詢,返回結點指標

pdata=slfindbynum(&sl,i);

if(pdata)

}

c語言鍊錶的遍歷 刪除 插入等

c語言鍊錶的遍歷 刪除 插入等 鍊錶的增刪查改 include include include 定義學生人數作為全域性變數,方便後面的錄入 遍歷等 int n 定義結構體變數 typedef struct phtlist,plist 使用typedef,即list等價於struct pht plis...

C語言 順序表的插入 刪除 查詢操作

順序表的操作,這裡先引入標頭檔案 include define maxsize 100 typedef int datatype typedef structsqlist 初始化順序表 只需要讓length 0即可 void initsqlist sqlist l 輸入順序表 這裡讀到0就結束 vo...

C 編寫鍊錶實現插入和刪除等操作

問題描述 編寫鍊錶實現插入和刪除等操作 根據所給主函式以及輸入輸出格式完整 樣例輸入輸出格式 請輸入學生姓名 zhang wang lizhao sunqian 學生資訊為 2018001 li 2018002 wang 2018003 zhang 2018004 zhao 2018005 sun ...