順序表基本操作歸納整理

2021-08-04 09:35:46 字數 1752 閱讀 8751

think:

本篇blog主要 包括順序表的4中基本操作

查詢 ,插入, 移位, 刪除

#include 

#include

#include

#define listincreasment 100 /*每次分配元素的個數*/

#define listsize 10 /*順序儲存的最大個數*/

#define overflow -1

#define ok 1

typedef int elemtype;

typedef struct /*順序表元素的的定義*/

sqlist;

int sqinitial(sqlist &l) /*初始化線性表*/

int listinsert(sqlist &l,int i,elemtype e) /*插入元素*/

elemtype * q=&(l.elem[i-1]);

elemtype * p;

for(p=&(l.elem[l.length-1]); p>=q; --p)

*(p+1)=*p;

*q=e;

++l.length;

return ok;

}void listdelete(sqlist &l,int i,elemtype &e) //刪除線性表中第i個位置上的元素

l.length--;

}}elemtype getelem(sqlist &l,int i)

}int main()

printf("表長: %d\n",l.length); /*輸出表長*/

for(t=1; t<=l.length; t++)

printf("%d ",l.elem[t-1]);/*讀表*/

printf("\n刪除的位置:"); //刪除元素

scanf("%d",&t);

listdelete(l,t,d);

printf( "刪除元素的值:%d\n",d);

printf( "刪除後的表:");

for(t=1; t<=l.length; t++)

printf("%d ",l.elem[t-1]); //刪除後的表

printf("\n要插入的位置"); //插入元素

scanf("%d",&t);

printf("要插入的值");

scanf("%d",&d);

listinsert(l,t,d);

printf( "插入以後的表:");

for(t=1; t<=l.length; t++) //插入以後的表

printf("%d ",l.elem[t-1]);

printf("\n要檢索的元素的位置:"); //檢索元素

scanf("%d",&t);

d=getelem(l,t);

printf( "該元素的值為:%d\n",d);

return

0;}

順序表基本操作

先建個seqlist.h 如下 include include define maxn 100 定義線性表的長度 typedef struct seqlisttype void seqlistinit seqlisttype sl 初始化順序表 int seqlistlength seqlistty...

順序表 基本操作

include include define initsize 100 順序表儲存空間的初始分配量 typedef int elemtype 在實際問題中,根據需要定義所需的資料型別 typedef struct sqlist void initlist sqlist l 初始化操作 建立乙個空的順...

順序表基本操作

本題要求實現順序表元素的增 刪 查詢以及順序表輸出共4個基本操作函式。l是乙個順序表,函式status listinsert sq sqlist l,int pos,elemtype e 是在順序表的pos位置插入乙個元素e pos應該從1開始 函式status listdelete sq sqli...