資料結構之順序表的實現

2021-08-28 23:12:54 字數 1449 閱讀 6256

本文為對順序表的一些基本操作

1.建立鍊錶

typedef

struct sqlistsqlist;

2.實現對鍊錶的初始化

int

init

(sqlist *list)

接下來便是對順序表的一些基礎能進行實現

注意:插入和刪除的時候要注意是否越界

插入:插入元素時,插入位置後南面的元素要往後移動乙個元素的位置,因此從結尾處開始處理,逐個後移乙個元素的位置,第k+1的位置元素值即為x,同時 list->length++ 順序表長度加一;

int

insert

(sqlist *list,

int k,

int x)

刪除:刪除第 i 個元素,i+1後面的元素會向前移動乙個元素的位置,同時 list->length–;即順序表長度減一

int

dele

(sqlist *list,

int i)

list->length--

;return1;

}

列印鍊錶

void

print

(sqlist *list)

}

最後:順序表的撤銷

void

destroy

(sqlist *list)

完整**如下

/*

資料結構順序表的實現:

1.定義當前容量 size

基指標 *elem

元素個數 length

2.初始化

3.插入 在第i個位置插入,

4.刪除

5.銷毀順序表

*/#include

#include

#define msize 100

typedef

struct sqlistsqlist;

intinit

(sqlist *list)

//在第k個位置插入元素x

intinsert

(sqlist *list,

int k,

int x)

//刪除第i個元素

intdele

(sqlist *list,

int i)

list->length--

;return1;

}void

print

(sqlist *list)

}void

destroy

(sqlist *list)

intmain()

資料結構之順序表的實現

線性表的實現分順序儲存結構和鏈式儲存結構。順序表屬於線性表的一種,是用一組位址連續的儲存單元依次來實現對元素的儲存。但是,順序結構最大的缺點就是在進行插入和刪除操作的時候,如果插入位置不理想,那麼需要移動大量的元素。可以發現在順序儲存結構中,他們相鄰的元素的儲存位置也是相鄰的,在申請記憶體的的時候,...

資料結構之順序表的實現

俗話說,好記性不如乙個爛筆頭,在過了若干天之後我果然忘了順序表的實現 以此寫一篇文章,防止自己忘記也幫助剛入門的小夥伴。順序表也就是採用一片連續的記憶體空間來儲存相應的資料,既然是連續也就造成了空間必然有限,但帶來的優點也有很多,比如操作很快,理解容易 既然時連續的記憶體空間,採取陣列的形式是最為方...

資料結構之線性順序表實現

線性表是最常用且最簡單的一種資料結構。簡言之,乙個線性表是n個資料元素的有限序列。線性結構的特點是 在資料元素的非空有限集中,1 存在唯一的乙個被稱作 第乙個 的資料元素 2 存在唯一的乙個被稱作 最後乙個 的資料元素。3 除第乙個之外,集合中的每個資料元素均只有乙個前驅 4 除最後乙個外,集合中每...