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