資料結構 1 順序表

2021-10-04 23:16:38 字數 3156 閱讀 5247

目錄

順序表1.順序表的概念及結構

2.特點

3.動態順序表的實現

3.1 順序表初始化

3.2 順序表銷毀

3.3 順序表列印

3.4 檢查空間,如果滿了,進行增容

3.5 順序表尾插

3.6 順序表尾刪

3.7 順序表頭插

3.8 順序表頭刪

3.9 順序表查詢

3.10 順序表在pos位置插入x

3.11 順序表刪除pos位置的值

3.11 氣泡排序

3.12 二分查詢

順序表一般可分為:

1.靜態順序表:使用定長陣列儲存

2.動態順序表:使用動態開闢的陣列儲存

// 順序表的靜態儲存

// 順序表的動態儲存

typedef struct seqlist

seqlist;

靜態順序表只適用於確定知道需要存多少資料的場景。靜態順序表的定長陣列導致n定大了,空間開多了浪費,開少了不夠用。所以現實中基本都是使用動態順序表,根據需要動態的分配空間大小,所以下面實現動態順序表。

// 順序表的動態儲存

typedef struct seqlist

seqlist;

// 基本增刪查改介面

// 順序表初始化

void seqlistinit(seqlist* psl, size_t capacity);

// 順序表銷毀

void seqlistdestory(seqlist* psl);

// 順序表列印

void seqlistprint(seqlist* psl);

// 檢查空間,如果滿了,進行增容

void checkcapacity(seqlist* psl);

// 順序表尾插

void seqlistpushback(seqlist* psl, sldatatype x);

// 順序表尾刪

void seqlistpopback(seqlist* psl);

// 順序表頭插

void seqlistpushfront(seqlist* psl, sldatatype x);

// 順序表頭刪

void seqlistpopfront(seqlist* psl);

// 順序表查詢

int seqlistfind(seqlist* psl, sldatatype x);

// 順序表在pos位置插入x

void seqlistinsert(seqlist* psl, size_t pos, sldatatype x);

// 順序表刪除pos位置的值

void seqlisterase(seqlist* psl, size_t pos);

void seqlistinit(seqlist* ps)//初始化

void seqlistdestory(seqlist* ps)//銷毀空間

void seqlistprint(seqlist* ps)//列印

printf("\n");

}

void seqlistcheckcapacity(seqlist* ps)//檢查空間,如果滿了,進行增容

}

void seqlistpushback(seqlist* ps, sldatatype x) //尾插

void seqlistpopback(seqlist* ps)  //尾刪

void seqlistpushfront(seqlist* ps, sldatatype x) //頭插

ps->_a[0] = x;

ps->_size++;//插入乙個資料的同時要增加size個數

}

void seqlistpopfront(seqlist* ps)  //頭刪

ps->_size--;

}

int  seqlistfind(seqlist*ps, sldatatype x)//查詢

} return -1;

}

void seqlistinsert(seqlist*ps, size_t pos, sldatatype x)//插入 其中pos表示插入的位置

ps->_a[pos] = x;

ps->_size++;

}

void seqlisterase(seqlist*ps, size_t pos)//刪除

ps->_size--;

}

void seqlistbubblesoet(seqlist* ps)//氣泡排序

}if (exchange == 0)}}

int  seqlistbinaryfind(seqlist* ps, sldatatype x) //二分查詢

else if (ps->_a[mid] < x)

else

}return -1;

資料結構 1 順序表

資料結構的基礎知識 1968年美國克努特教授開創了資料結構的最初體系 資料結構是指資料的邏輯結構和儲存結構及其操作 資料結構是一門綜合性的專業客場,是一門介於數學 計算機硬體 計算機軟體之間的一門核心課程。是設計和實現編譯系統 作業系統 資料庫系統及其他系統程式和大型應用程式的基礎 資料的邏輯結構 ...

資料結構 1 順序表

線性表 具有相同資料型別的n n 0 個資料元素的有序序列 函式中定義的陣列位於棧段,系統棧大小ulimit s8192 8mb 棧段存管理節點位址,管理節點 資料都在堆段 結構操作 增刪改查 刪除指當前記憶體可以被占用,如果被覆寫就找不回來了 include include include inc...

資料結構 實驗1 順序表

問題描述 設計乙個順序表操作演示程式。基本要求 順序表操作演示程式提供乙個使用者介面,可演示的基本功能包括 1 初始化順序表 2 輸入並建立順序表 3 輸出順序表中的元素 4 在順序表指定位置插入元素 5 在順序表指定元素之前插入元素 6 刪除順序表指定位置的元素 7 刪除順序表指定元素之前的元素 ...