#ifndef seqlist_h
#define seqlist_h
typedef int datatype;
#define max_size 10 //順序表的容量,可調整
typedef struct seqlist
seqlist;
void seqlistinit(seqlist* pseq); //初始化
void seqlistpushback(seqlist* pseq, datatype data); //尾部新增
void seqlistpopback(seqlist* pseq); //尾部刪除
void seqlistpushfront(seqlist* pseq, datatype data);//頭部新增
void seqlistpopfront(seqlist* pseq); //頭部刪除
void seqlistinsert(seqlist* pseq, int pos, datatype data);//指定位置插入
void seqlisterase(seqlist* pseq, int pos); //刪除指定位置元素
void seqlistremove(seqlist* pseq, datatype data); //刪除指定元素
void seqlistremoveall(seqlist* pseq, datatype data);//刪除所有元素
int seqlistfind(seqlist* pseq, datatype data); //查詢某元素返回位置
void seqlistsize(seqlist* pseq); //檢視當前元素個數
//------------
void printlist(seqlist* pseq); //列印順序表
void bubblesort(seqlist* pseq); //氣泡排序
void selectsort(seqlist* pseq); //選擇排序
void binarysearch(seqlist* pseq, datatype data); //折半查詢
#endif /* seqlist_h */
#include
#include "seqlist.h"
void
seqlistinit(seqlist* pseq)
}void
seqlistpushback(seqlist* pseq, datatype
data)
void
seqlistpopback(seqlist* pseq)
void
seqlistpushfront(seqlist* pseq, datatype
data)
for (int i = pseq->_size; i>0; i--)
pseq->_array[0] = data;
pseq->_size++;
}void
seqlistpopfront(seqlist* pseq)
pseq->_size--;
}void
seqlistinsert(seqlist* pseq, int pos, datatype
data)
for (int i = pseq->_size; i>pos; i--)
pseq->_array[pos] = data;
pseq->_size++;
}void
seqlisterase(seqlist* pseq, int pos)
pseq->_size--;
}}int
seqlistfind(seqlist* pseq, datatype
data)
}return -1;
}void
seqlistremove(seqlist* pseq, datatype
data)
// }
int pos = seqlistfind(pseq, data);
if (pos >=0)
}void
seqlistremoveall(seqlist* pseq, datatype
data)
}}//-----------------
void
printlist(seqlist* pseq)
printf("\n");
}void swap(datatype* p1,datatype* p2)
void
bubblesort(seqlist* pseq)}}
}void
selectsort(seqlist* pseq)}}
}void
binarysearch(seqlist* pseq, datatype
data)
else
if (data
< pseq->_array[mid])
else
}printf("can't find!\n");
}
c語言實現靜態順序表
標頭檔案如下 ifndef s l define s l include include include pragma warning disable 4996 define max size 10 typedef int datatype typedef struct seqlist seqlis...
C語言實現靜態順序表
靜態順序表是儲存在乙個連續的陣列中的,因此對其資料型別有乙個結構體宣告。尾插 void seqpushback seqlist pseq,datatype x pseq a pseq size x 尾刪 void seqpopback seqlist pseq 頭插 void seqpushfron...
用C語言實現靜態順序表
用c語言實現順序表一般有靜態和動態兩種,靜態順序表在實行的過程中是直接定義乙個陣列,用他來存放資料,資料在順序表中的儲存是連續存放的,下面我將用三個函式檔案來實現乙個簡單的順序表,並且實現增 刪 查 逆序 排序等功能 seqlist.h 函式的宣告以及標頭檔案的引用 ifndef seqlist h...