動態順序表的增刪改查

2021-09-11 20:27:53 字數 2365 閱讀 6779

順序表還是相對於比較簡單的資料結構,

所謂動態,

不過是在初始化時 賦予動態空間,

所以說,

就直接看**了。

標頭檔案

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