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