順序表還是相對於比較簡單的資料結構,
所謂動態,
不過是在初始化時 賦予動態空間,
所以說,
就直接看**了。
標頭檔案
#pragma once
// sequence list
#define _crt_secure_no_warnings 1
#include
#include
#include
#include
typedef
int datatype;
typedef
int size_t;
typedef
struct seqlistseqlist;
typedef
struct seqlist seqlist;
// 封裝的介面
// 初始化/銷毀
void
seqlistinit
(seqlist *sl, size_t capacity)
;void
seqlistdestroy
(seqlist *s1)
;//檢查是否需要擴容
void
checkcapacity
(seqlist *sl)
;// 增刪查改
// 尾插,插入在順序表的尾部
void
seqlistpushback
(seqlist *sl, datatype data)
;// 頭插,插入在順序表的頭部 ([0])
void
seqlistpushfront
(seqlist *sl, datatype data)
;// 尾刪,刪除順序表尾部的資料
void
seqlistpopback
(seqlist *sl)
;// 頭刪,刪除順序表頭部的資料
void
seqlistpopfront
(seqlist *sl)
;// 列印
void
seqlistprint
(seqlist *sl)
;
實現各個功能
檢查是否需要擴容
//檢查是否需要擴容
void
checkcapacity
(seqlist *sl)
}
初始化順序表
//初始化順序表
void
seqlistinit
(seqlist *s1, size_t capacity)
銷毀
//銷毀順序表
void
seqlistdestroy
(seqlist *s1)
s1->array =
null
; s1->capacity =0;
s1->size =0;
}
插入元素,頭插與尾插
// 尾插,插入在順序表的尾部
void
seqlistpushback
(seqlist *sl, datatype data)
// 頭插,插入在順序表的頭部 ([0])
void
seqlistpushfront
(seqlist *sl, datatype data)
sl->size++
; sl->array[0]
= data;
}
刪除元素,頭刪與尾刪
// 尾刪,刪除順序表尾部的資料
void
seqlistpopback
(seqlist *sl)
sl->size--;}
// 頭刪,刪除順序表頭部的資料
void
seqlistpopfront
(seqlist *sl)
sl->size =0;
for(
int i =
0; i < sl->size; i++
) sl->size--
;}
列印順序表
// 列印
void
seqlistprint
(seqlist *sl)
printf
("\n");
printf
("size=%d, capacity=%d \n"
, sl->size, sl->capacity)
;}
實現對動態順序表的增刪改查
增刪改查的操作類 public class seqlist 判滿 public boolean isfull return false 判空 public boolean empty return true 列印順序表 public void display system.out.println 在...
動態順序表的增刪改查及相關操作
順序表的概念及結構 靜態順序表 使用定長陣列儲存。動態順序表 使用動態開闢的陣列儲存 順序表的靜態儲存 define n 100 typedef int datatype typedef struct seqlist seqlist 靜態順序表只適用於知道了需要存多少資料的場景,比較死板,其中的定長...
資料結構 增刪改查(靜態順序表 動態順序表)
靜態順序表實現增刪改查的所有 pragma once include include include include typedef int datatype define max size 100 typedef struct seqlist seqlist 初始化 void seqlistini...