順序表的動態儲存結構:
部分函式操作: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...