C語言動態實現順序表

2021-08-19 08:20:48 字數 1558 閱讀 4446

順序表的動態儲存結構:

typedef int datatype;

typedef struct seqlistd

seqlistd, *pseqlistd;

部分函式操作:

void initseqlistd(pseqlistd pseq)//初始化

void checkcapacity(pseqlistd pseq)//檢測容量

}void pushback(pseqlistd pseq, datatype data)//尾插

void popback(pseqlistd pseq)//尾刪

}void popfront(pseqlistd pseq)//頭刪

pseq->size -= 1;

}void pushfront(pseqlistd pseq, datatype data)//頭插

pseq->array[i] = data;

pseq->size += 1;

}void printseqlist(pseqlistd pseq)//列印

printf("\n");

}void erase(pseqlistd pseq, size_t pos)

pseq->size -= 1;

}int find(pseqlistd pseq, datatype data)//查詢值為data的元素

return -1;

}void removeall(pseqlistd pseq, datatype data)//移除所有值相等的元素

else

}pseq->size -= count;

}void destroy(pseqlistd pseqlist)//銷毀

}void insert(pseqlistd pseq, size_t pos, datatype data)//任意位置插入

pseq->array[i] = data;

pseq->size += 1;

}void bubblesort(pseqlistd pseq)//氣泡排序}}

}void selectsort(pseqlistd pseq)//選擇排序

}if (min_num != i)

}}//區間

int binarysearch(pseqlistd pseq, datatype data)

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

else

}return mid;

}//區間 --》[)

int binarysearch(pseqlistd pseq, datatype data)

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

else

}return mid;

}void insertsearch(pseqlistd pseq)//插入排序

pseq->array[j] = target;//插入

}}

C語言實現動態順序表

include include include include ifndef list h define list h define default 3 初始化開闢容量大小 define int sz 2 每次固定增容大小 typedef int datatype typedef struct se...

動態順序表c語言實現

主要操作結構體中的指標,在init函式裡對指標進行記憶體開闢,checkcapacity函式在每次插入之前檢查一遍,如果可用空間沒有了,就開闢當前最大容量的兩倍。其他操作與靜態順序表無大區別。seqlist.h pragma once define datatype int typedef stru...

C語言動態順序表的實現

上一次我們實現了靜態順序表,靜態順序表的大小固定,不方便我們去訪問資料。而動態順序表就可以很方便的訪問資料。同樣,我們有以下介面要實現 ifndef seqlist h define seqlist h include include include include define max 3 typ...