C資料結構 順序表

2021-09-10 09:09:48 字數 1223 閱讀 9828

1.定義動態順序表

typedef struct seqlist

seqlist;

2.順序表基礎功能實現

//初始化

void init(seqlist *p, int capacity)

//摧毀

void destory(seqlist*p)

//擴容

void checkcapacity(seqlist*p)

int newcapacity = p->capacity * 2;

int*newarray = (int*)malloc(sizeof(int)*newcapacity);

assert(newarray);

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

free(p->array);

p->array = newarray;

p->capacity = newcapacity;

}//查詢

int find(seqlist*p, int x)

} return -1;

}//頭插

void pushfront(seqlist*p, int x)

p->array[0] = x;

p->size++;

}//頭刪

void popfront(seqlist*p)

p->size--;

}//尾插

void pushback(seqlist*p, int x)

//尾刪

void popback(seqlist*p)

//在pos位置插入

void insert(seqlist*p, int pos, int x)

p->array[pos] = x;

p->size++;

}//刪除pos所在下標的資料

void erase(seqlist*p, int pos)

p->size--;

}//刪除資料x

void remove(seqlist*p, int x)

}//修改pos所在下標的資料

void modify(seqlist*p, int pos, int x)

//列印

void print(seqlist*p)

printf("\n");

}

C 資料結構 順序表

迴圈後面加 是個好行為,不然很容易犯低階錯誤 導致乙個變數的位置放錯了,看了很久沒看出bug 順序表 include includeusing namespace std const int maxsize 25 typedef struct seqlist int main cout endl r...

C 資料結構 順序表

順序表,顧名思義儲存在計算機指定記憶體區域的一塊連續的儲存結構,跟我們一起排隊做廣播體操的那種方式 儲存物理結構 物理記憶體空間上是連續的 儲存邏輯關係 儲存值之間的關係為一對一 使用場景 一般訪問資料量比較大,新增和刪除操作不頻繁的資料 那麼我們這裡實現的語言是用的c 對於線性表的一些特性我們這裡...

C 資料結構 順序表

include using namespace std int alist 5 template class t class orderlist 獲得順序表的長度 intgetlength 在表尾插入元素 bool const t value alist curlen value curlen re...