順序表的實現(C語言)

2021-08-03 12:25:45 字數 1735 閱讀 6457

/*********************

*指向結構體變數的指標作函式引數

************************/

#include

#define maxsize 100

typedef int datatype;

typedef struct

sequence_list;

void init(sequence_list *);

int empty(sequence_list slt);

void display(sequence_list slt);

int find(sequence_list *slt,datatype x);

void insert(sequence_list *slt,int i,datatype x);

void  dele(sequence_list *slt,int position);

datatype get(sequence_list slt,int i);

int main()

printf("請輸入資料:");

datatype x=0;

int i;

for(i=0;i<5;i++)

display(l);

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

scanf("%d",&x);

printf("您查詢的數在第%d個位置!\n",find(&l,x)+1);

printf("請輸入要獲取元素的位置:");

scanf("%d",&i);

int y=get(l,i);

printf("您查查的第%d個元素為:%d\n",i,y);

insert(&l,3,100);

printf("插入100的順序表為:");

display(l);datatype get(sequence_list slt,int i);

printf("\n");

dele(&l,0);

printf("刪除第乙個數的效果為:");

display(l);

return 0;

}void init(sequence_list *slt)

int empty(sequence_list slt)//判斷是否為空

slt->a[slt->size]=x;

slt->size=slt->size+1;

}void display(sequence_list slt)

printf("一共%d個。在第%d個中\n",slt->size,i);

return (isize?i:1);

}datatype get(sequence_list slt,int i)//獲取 第i個節點

else

return slt.a[i];

}void insert(sequence_list *slt,int i,datatype x)

if(slt->size>=maxsize)

for(j=slt->size-1;j>=i;j--)

slt->a[i]=x;

slt->size++;

}void dele(sequence_list *slt,int position)

if(position<0||position>slt->size)

for(i=position;isize-1;i++)

slt->size--;

}

C語言順序表的實現

順序表的操作有初始化 插入元素 取值 查詢元素 刪除元素這五種操作。下面根據個人在嚴蔚敏老師的 資料結構 c語言版 第 2版 中的了解來說明一下。在初始化之前,我們先設定巨集定義和型別定義 define ok1 define error 0 define overflow 2 define maxs...

順序表的實現(C語言)

include include define maxsize 100 struct list t void print list t int isemtty list t 判斷鍊錶是否為空 void getelement list t,int i 獲取表中第i個元素 下標從0開始 void add ...

順序表 用c語言簡單實現順序表

test.h ifndef seplist h define seplist h include include include include define max 100 define default sz 3 當前預設有效值 define isc sz 2 動態分配預設增長個數 typedef...