動態順序表

2021-07-26 07:46:53 字數 2210 閱讀 3772

每天進步一點點!

以下為純**,在vs2012下測試通過:

//列印線性表

void printseqlist(seqlist* pseq)

printf("%-4d", pseq->data[i]);

} printf("\n\n");

}//初始化線性表

void initseqlist(seqlist* pseq)

//初始化容量和有效資料個數

pseq->size = 0;

pseq->cap = capacity;

}//自增

int incseqlist(seqlist* pseq)

pseq->data = new_data;

pseq->cap += increasment;

//printf("inc success!\n");

//自增成功

return 1;

}//摧毀

void destroyseqlist(seqlist* pseq)

//判滿

//滿:1

//未滿:0

int isfull(seqlist* pseq)

return 0;

}//判空

//空:1

//不空:0

int isempty(seqlist* pseq)

return 0;

}//求當前有效元素個數

int sizeseqlist(seqlist* pseq)

//求容量

int capseqlist(seqlist* pseq)

//尾插

void pushback(seqlist* pseq, datatype _data)

}//刪除最後乙個元素

void popback(seqlist* pseq)

}//頭插乙個元素

void pushfront(seqlist* pseq, datatype data)

pseq->data[0] = data;

pseq->size++; }}

// 刪除順序表頭部元素

void popfront(seqlist* pseq)

pseq->size--; }

}//在pos位置上插入值為data的元素

void insert(seqlist* pseq, size_t pos, datatype data)

pseq->data[pos-1] = data;

pseq->size++; }}

// 刪除順序表中pos位置上的元素

void erase(seqlist* pseq, size_t pos)

pseq->size--; }}

// 在順序表中查詢值為data的元素,找到返回該元素的位置,否則返回-1

int find(seqlist* pseq, datatype data)

} return -1;

}// 刪除順序表中第乙個值為data的元素

void remove(seqlist* pseq, datatype data) }}

// 刪除順序表中所有值為data的元素

void removeall(seqlist* pseq, datatype data)

*/ while(i < pseq->size)

i++; }}

//交換

static void swap(datatype* x, datatype* y )

// 使用氣泡排序給順序表中的元素排序

void bubblesort(seqlist* pseq)

} if(0 == pos) }}

// 使用選擇排序給順序表中的元素排序

//即:找最小(大)值與第乙個值交換,再找次小(大)值與第二個交換,依此類推。

void selectsort(seqlist* pseq)

} if(pos != i) }}

// 使用二分查詢在順序表中查詢值為data的元素,找到返回位置,否則返回-1

int binarysearch(seqlist* pseq, datatype data)

else if(data > pseq->data[mid])

else

} return -1;

}

成於堅持,敗於止步!

動態順序表

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

動態順序表

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