動態順序表的基本操作(c語言)

2021-09-14 06:56:28 字數 1704 閱讀 4026

#include #include // 使用malloc函式要包含這個檔案

#include #define init_capacity 10 // 初始化時分配的容量

typedef struct seqlistseqlist;

void seqlist_init(seqlist *list); //初始化順序表

void check_capacity(seqlist *list); // 檢查是否滿

void push_front(seqlist *list, int value); // 在順序表前頭部插入元素

void push_back(seqlist *list, int value); // 在順序表尾部插入元素

void insert_list(seqlist *list, int pos, int value); // 在pos這個位置插入元素

void pop_front(seqlist *list); // 刪除順序表第乙個元素

void pop_back(seqlist *list); // 刪除順序表最後乙個元素

void list_printf(seqlist *list); // 遍歷順序表

void destroy_list(seqlist *list); // 摧毀順序表

void list_cleardata(seqlist *list); // 清空順序表的資料

int main(void)

// 初始化順序表

void seqlist_init(seqlist *list)

// 判斷順序表是否以滿,如果滿了,增加順序表的容量

void check_capacity(seqlist *list)

}// 在順序表前插入資料

void push_front(seqlist *list, int value)

list->array[0] = value; // 將插入的值賦給第乙個元素

list->size++; // 有效元素個數 +1

}// 在順序表尾部插入資料

void push_back(seqlist *list, int value)

// 在順序表第pos個位置插入資料

void insert_list(seqlist *list, int pos, int value)

// 將第pos個位置之後的資料往後移動一位

for (i=list->size; i>=pos; i--)

list->array[pos-1] = value;

list->size++;

}// 刪除頭部資料

void pop_front(seqlist *list)

else

}list->size--; // 有效資料的個數減1

}void pop_back(seqlist *list)

else

}void list_printf(seqlist *list)

}void destroy_list(seqlist *list)

void list_cleardata(seqlist *list)

順序表的基本操作(C語言)

define list init size 100 線性表初始分配量 define listincreament 10 分配增量 include include typedef struct sqlistsqlist 定義線性表 void creat sqlist sqlist l 判斷表是不是空表...

順序表的基本操作(C語言)

順序表是指線性表的順序表示,指的是用一組位址連續的儲存單元依次儲存線性表的資料元素。只要確定了順序表的起始位置,順序表的任一資料元素都可以隨機訪問,線性表的順序儲存結構是一種隨機訪問的儲存結構。在這點上與高階程式語言中的陣列十分相似,因此通常用陣列來描述資料結構中的順序儲存結構。下面是在學習浙大資料...

動態順序表的基本操作

seqlistd.h pragma once include include include typedef int datatype typedef struct seqlistd seqlistd,pseqlistd void seqlistdinit pseqlistd ps,int capa...