資料結構中順序表的基本操作

2021-10-04 06:17:03 字數 2115 閱讀 8626

5、主函式來實驗以上方法

#include

#define maxsize 100

//自定義線性表最大長度

typedef

int elemtype;

typedef

struct sqlist//結構體名

sqlist;

//型別識別符號

​ 把順序表 初始化為空的順序表;只需把順序表的長度length置為0即可;

void

initlist

(sqlist *

&l) l->length =0;

}

​ 返回順序表中的元素的個數。

int

lengthlist

(sqlist *

&l)return l->length;

}

​ 求線性表中第n個元素

//求線性表中第n個元素。

intgetelem

(sqlist *l,

int n)

return l->data[n-1]

;}

​ 在n個位置上插入值為x的元素。插入成功就返回1,不成功就返回0

//插入元素運算。

intinselem

(sqlist *

&l,int x ,

int n)

//判斷順序表是否已滿

else

if(l->length >= maxsize)

for(j;j>n-

1;j--

) l->data[n-1]

= x;

l->length++

;return1;

}

​ 刪除第n個位置上的數,刪除成功返回1,刪除失敗返回0。

//刪除元素運算。

intdelelem

(sqlist *

&l,int n)

for(

int i = n;i) l->length--

;return1;

}

在順序表中查詢值為e的元素的位置。查詢成功返回元素的位置,失敗返回0.
int

locate

(sqlist *l,

int e)

}printf

("沒有這個值");

return0;

}

清空順序表

//清空順序表

void

clearlist

(sqlist *

&l)

返回布林型別的值。

//判斷順序表是否為空。

bool listempty

(sqlist *l)

//列印順序表

void

printlist

(sqlist *l)

for(

int k =

0; k < l->length; k++

)printf

("\n");

}

​ 使用傳入的陣列,賦值給順序表

void

creatsqlist

(int arr,

int n,sqlist *

&l)}

int

main()

;creatsqlist

(a,6

,l);

//建立順序表

printlist

(l);

// inselem(l,100,2);

inselem

(l,200,4

);// delelem(l,5);

// printf("%d",locate(l,2));

printlist

(l);

}

資料結構 順序表的基本操作

計算機中線性表的存放結構主要有兩種 順序儲存結構和鏈式儲存結構。採用前者存放方式的線性表是順序表,採用後者的就是我們平時所說的鍊錶 線性鍊錶 這裡先對順序表的一些基本操作進行歸納和總結,鍊錶的將在後面的文章中歸納總結。順序表的表示,一般都是借助一維陣列。c 語言定義其結構如下 const int m...

資料結構 順序表的基本操作

main include include define true 1 define error 0 define ok 1 define false 0 define overflow 2 typedef int status typedef int elemtype define list ini...

資料結構 順序表的基本操作

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