目錄
順序表1.順序表的概念及結構
2.特點
3.動態順序表的實現
3.1 順序表初始化
3.2 順序表銷毀
3.3 順序表列印
3.4 檢查空間,如果滿了,進行增容
3.5 順序表尾插
3.6 順序表尾刪
3.7 順序表頭插
3.8 順序表頭刪
3.9 順序表查詢
3.10 順序表在pos位置插入x
3.11 順序表刪除pos位置的值
3.11 氣泡排序
3.12 二分查詢
順序表一般可分為:
1.靜態順序表:使用定長陣列儲存
2.動態順序表:使用動態開闢的陣列儲存
// 順序表的靜態儲存
// 順序表的動態儲存
typedef struct seqlist
seqlist;
靜態順序表只適用於確定知道需要存多少資料的場景。靜態順序表的定長陣列導致n定大了,空間開多了浪費,開少了不夠用。所以現實中基本都是使用動態順序表,根據需要動態的分配空間大小,所以下面實現動態順序表。
// 順序表的動態儲存
typedef struct seqlist
seqlist;
// 基本增刪查改介面
// 順序表初始化
void seqlistinit(seqlist* psl, size_t capacity);
// 順序表銷毀
void seqlistdestory(seqlist* psl);
// 順序表列印
void seqlistprint(seqlist* psl);
// 檢查空間,如果滿了,進行增容
void checkcapacity(seqlist* psl);
// 順序表尾插
void seqlistpushback(seqlist* psl, sldatatype x);
// 順序表尾刪
void seqlistpopback(seqlist* psl);
// 順序表頭插
void seqlistpushfront(seqlist* psl, sldatatype x);
// 順序表頭刪
void seqlistpopfront(seqlist* psl);
// 順序表查詢
int seqlistfind(seqlist* psl, sldatatype x);
// 順序表在pos位置插入x
void seqlistinsert(seqlist* psl, size_t pos, sldatatype x);
// 順序表刪除pos位置的值
void seqlisterase(seqlist* psl, size_t pos);
void seqlistinit(seqlist* ps)//初始化
void seqlistdestory(seqlist* ps)//銷毀空間
void seqlistprint(seqlist* ps)//列印
printf("\n");
}
void seqlistcheckcapacity(seqlist* ps)//檢查空間,如果滿了,進行增容
}
void seqlistpushback(seqlist* ps, sldatatype x) //尾插
void seqlistpopback(seqlist* ps) //尾刪
void seqlistpushfront(seqlist* ps, sldatatype x) //頭插
ps->_a[0] = x;
ps->_size++;//插入乙個資料的同時要增加size個數
}
void seqlistpopfront(seqlist* ps) //頭刪
ps->_size--;
}
int seqlistfind(seqlist*ps, sldatatype x)//查詢
} return -1;
}
void seqlistinsert(seqlist*ps, size_t pos, sldatatype x)//插入 其中pos表示插入的位置
ps->_a[pos] = x;
ps->_size++;
}
void seqlisterase(seqlist*ps, size_t pos)//刪除
ps->_size--;
}
void seqlistbubblesoet(seqlist* ps)//氣泡排序
}if (exchange == 0)}}
int seqlistbinaryfind(seqlist* ps, sldatatype x) //二分查詢
else if (ps->_a[mid] < x)
else
}return -1;
資料結構 1 順序表
資料結構的基礎知識 1968年美國克努特教授開創了資料結構的最初體系 資料結構是指資料的邏輯結構和儲存結構及其操作 資料結構是一門綜合性的專業客場,是一門介於數學 計算機硬體 計算機軟體之間的一門核心課程。是設計和實現編譯系統 作業系統 資料庫系統及其他系統程式和大型應用程式的基礎 資料的邏輯結構 ...
資料結構 1 順序表
線性表 具有相同資料型別的n n 0 個資料元素的有序序列 函式中定義的陣列位於棧段,系統棧大小ulimit s8192 8mb 棧段存管理節點位址,管理節點 資料都在堆段 結構操作 增刪改查 刪除指當前記憶體可以被占用,如果被覆寫就找不回來了 include include include inc...
資料結構 實驗1 順序表
問題描述 設計乙個順序表操作演示程式。基本要求 順序表操作演示程式提供乙個使用者介面,可演示的基本功能包括 1 初始化順序表 2 輸入並建立順序表 3 輸出順序表中的元素 4 在順序表指定位置插入元素 5 在順序表指定元素之前插入元素 6 刪除順序表指定位置的元素 7 刪除順序表指定元素之前的元素 ...