動態順序表

2021-10-01 08:03:53 字數 3309 閱讀 2616

動態順序表

#ifndef __seqlist_h__

#define __seqlist_h__

#include

#include

#include

//順序表的動態儲存

typedef

int sldatatype;

typedef

struct seqlist

seqlist;

//基本增刪查改介面

//初始化順序表

void

seqlistinit

(seqlist* ps)

;//銷毀順序表

void

seqlistdestory

(seqlist* ps)

;//列印資料

void

seqlistprint

(seqlist* ps)

;//檢查空間是否夠用

void

seqlistcheckcapacity

(seqlist* ps)

;//尾插

void

seqlistpushback

(seqlist* ps, sldatatype x)

;//尾刪

void

seqlistpopback

(seqlist* ps)

;//頭插

void

seqlistpushfront

(seqlist* ps, sldatatype x)

;//頭刪

void

seqlistpopfront

(seqlist* ps)

;//查詢

intseqlistfind

(seqlist* ps, sldatatype x)

;//中間某處插入

void

seqlistinsert

(seqlist* ps, size_t pos, sldatatype x)

;//指定位置刪除

void

seqlisterase

(seqlist* ps, size_t pos)

;//指定元素刪除

void

seqlistremove

(seqlist* ps, sldatatype x)

;//修改某個位置的值

void

seqlistmodify

(seqlist* ps, size_t pos, sldatatype x)

;//氣泡排序

void

seqlistbubblesort

(seqlist* ps)

;//氣泡排序

void

seqlistbubblesort

(seqlist* ps)

;//二分查詢

intseqlistbinaryfind

(seqlist* ps, sldatatype x)

;#endif

#include

"seqlist.h"

//基本增刪查改介面

//初始化順序表

void

seqlistinit

(seqlist* ps)

//銷毀順序表

void

seqlistdestory

(seqlist* ps)

//列印資料

void

seqlistprint

(seqlist* ps)

printf

("null\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++;}

//頭刪

void

seqlistpopfront

(seqlist* ps)

ps->_size--;}

//查詢

intseqlistfind

(seqlist* ps, sldatatype x)

}return-1

;}//中間某處插入

void

seqlistinsert

(seqlist* ps, size_t pos, sldatatype x)

*/ size_t end = ps->_size+1;

while

(end > pos)

//指定位置插入資料

ps->_a[pos]

= x;

ps->_size++;}

//指定位置刪除

void

seqlisterase

(seqlist* ps, size_t pos)

ps->_size--;}

//指定元素刪除

void

seqlistremove

(seqlist* ps, sldatatype x)

}//修改某個位置的值

void

seqlistmodify

(seqlist* ps, size_t pos, sldatatype x)

// 擴充套件面試題實現

//氣泡排序

void

seqlistbubblesort

(seqlist* ps)}}

}//二分查詢

intseqlistbinaryfind

(seqlist* ps, sldatatype x)

else

if(ps->_a[mid]

< x)

else

}return-1

;}

#include

"seqlist.h"

void

testseqlist1()

intmain()

動態順序表

ifndef seqlist h define seqlist h define capacity 3 typedef struct seqlist typedef enum tag typedef struct findret void expendseqlist seqlist pseq 擴大容...

動態順序表

動態順序表 引用庫函式 include include 巨集定義 define list init size 4 define list add size 2 define overflow 2 typedef int elemtype elemtype元素型別 定義結構體 typedef stru...

動態順序表

順序表是在進算計記憶體總以陣列的形式儲存的線性表,是指用一組位址連續的儲存單元依次儲存資料元素的線性結構。線性表採用的順序儲存就稱之為順序表。順序表是將表中的節點依次存放在計算機記憶體中一組位址連續的儲存單元中。任務要求 實現乙個動態順序表 功能要求 表可以動態增長,尾插元素,尾刪元素,頭插元素,頭...