動態順序表

2021-07-13 06:56:46 字數 2578 閱讀 8134

#ifndef __seqlist_h__

#define __seqlist_h__

#include#include#includetypedef int datatype;

typedef struct seqlist

seqlist,*pseqlist;

void initseqlist(pseqlist pseq);

void pushback(pseqlist pseq,datatype x);

void printseqlist(pseqlist pseq);

void popback(pseqlist pseq);

void pushfront(pseqlist pseq, datatype x);

void popfront(pseqlist pseq);

void insert(pseqlist pseq, int pos, datatype x);

void remove(pseqlist pseq, datatype x);

void removeall(pseqlist pseq, datatype x);

int find(pseqlist pseq,datatype x);

void erase(pseqlist pseq,datatype pos);

void reverselist(pseqlist pseq);

void sortlist(pseqlist pseq);

void selectsortlist(pseqlist pseq);

int  binarysearch(pseqlist seq, datatype x);

void checkcapacity(pseqlist pseq)   //檢查容量

}void initseqlist(pseqlist pseq)  //初始化順序表

void pushback(pseqlist pseq,datatype x)  //尾插

void popback(pseqlist pseq)     //尾刪

pseq->array[pseq->size-1] = null;

pseq->size--;

}void pushfront(pseqlist pseq, datatype x)   //頭插

pseq->array[0] = x;

pseq->size++;

}void popfront(pseqlist pseq)    //頭刪

for(i = 1; i < pseq->size; i++)

pseq->size--;

}void destroy(pseqlist pseq)  //銷毀

void printseqlist(pseqlist pseq)  //列印

}void insert(pseqlist pseq, int pos, datatype x)  //在某個位置處插入

pseq->array[pos] = x;

pseq->size++;

}int find(pseqlist pseq,datatype x)    //查詢

for(i = 0; i < pseq->size; i++) }

return -1;

}void erase(pseqlist pseq,datatype pos)   //按位置刪除

for(i = pos+1; i < pseq->size; i++)

pseq->size--;

}void remove(pseqlist pseq, datatype x)   //刪除

else }

void removeall(pseqlist pseq, datatype x)  //刪除所有的x

for(i = 0; i < pseq->size; i++)

else

}pseq->size-=count;

}void reverselist(pseqlist pseq)   // 逆置

}void sortlist(pseqlist pseq)  //氣泡排序

} if(exchange == 0)

}}void selectsortlist(pseqlist pseq)   //選擇排序

tmp = pseq->array[min];

pseq->array[min] = pseq->array[i];

pseq->array[i] = tmp;

} }}int binarysearch(pseqlist pseq, datatype x)   //二分查詢

else if(pseq->array[mid] < x)

else

}return -1;

}#endif // __seqlist_h__

#include#include"seqlist.h"

void test1()

void test2()

void test3()

void test4()

void test5()

int main()

動態順序表

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...

動態順序表

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