實現順序表的增刪查改

2021-10-05 22:41:38 字數 2570 閱讀 5854

線性表分為兩種: 順序表(順序儲存)和鍊錶(鏈式儲存), 這裡實現一下順序表管理資料的增刪查改操作

標頭檔案自定義標頭檔案中一般存放自定義函式的函式宣告

sqlist.h

#pragma once

#include

#include

#include

typedef

int sqldatatype;

typedef

struct seqlist

sqlist;

void

sqlistinit

(sqlist* ps)

;//順序表初始化

void

sqlistdestory

(sqlist* ps)

;//順序表銷毀

void

sqlistprint

(sqlist* ps)

;//順序表列印

void

sqlistcheckcapacity

(sqlist* ps)

;//順序表檢查容量

void

sqlistpushback

(sqlist* ps, sqldatatype x)

;//順序表尾插

void

sqlistpushfront

(sqlist* ps, sqldatatype x)

;//順序表頭插

void

sqlistpopfront

(sqlist* ps)

;//順序表頭刪

void

sqlistpopback

(sqlist* ps)

;//順序表尾刪

intsqlistfind

(sqlist* ps, sqldatatype x)

;//順序表查詢

void

sqlistinsert

(sqlist* ps, size_t pos, sqldatatype x)

;//順序表在pos位置插入x

void

sqlisterase

(sqlist* ps, size_t pos)

;//順序表刪除pos位置的值

原始檔

sqlist.c

#include

"sqlist.h"

void

sqlistinit

(sqlist* ps)

void

sqlistdestory

(sqlist* ps)

void

sqlistprint

(sqlist* ps)

printf

("\n");

}void

sqlistcheckcapacity

(sqlist* ps)

}void

sqlistpushback

(sqlist* ps, sqldatatype x)

void

sqlistpushfront

(sqlist* ps, sqldatatype x)

ps->a[0]

= x;

++ps->size;

}void

sqlistpopfront

(sqlist* ps)

--ps->size;

}void

sqlistpopback

(sqlist* ps)

intsqlistfind

(sqlist* ps, sqldatatype x)

}return-1

;}void

sqlistinsert

(sqlist* ps, size_t pos, sqldatatype x)

ps->a[pos]

= x;

++ps->size;

}void

sqlisterase

(sqlist* ps, size_t pos)

--ps->size;

}

test.c

#include

"sqlist.h"

intmain()

執行結果:

另外, 考慮到**復用, 順序表的頭插尾插, 頭刪尾刪還可以用sqlistinsert和sqlisterase來實現:

void

sqlistpushback

(sqlist* ps, sqldatatype x)

void

sqlistpushfront

(sqlist* ps, sqldatatype x)

void

sqlistpopfront

(sqlist* ps)

void

sqlistpopback

(sqlist* ps)

順序表的增刪查改

今天來實現簡單的順序表地增刪查詢操作 1.在開始敲 前,首先要明確自己要幹嘛。2.然後開始構思自己所要實現什麼樣的功能。3.之後將之前構思的功能弄好框架。4.最後再將每個框架的內容補充上。標頭檔案 include pragma once include typedef int sldatatype ...

順序表的增刪查改

順序表實現 順序表是用一段實體地址連續的儲存單元依次儲存的線性結構,一般情況下採用陣列儲存。在陣列上完成資料的增刪查改。靜態順序表 使用定長陣列儲存 動態順序表 使用動態開闢的陣列儲存 靜態順序表適用於確定知道需要存多少資料的場景。靜態順序表的定長陣列導致n定大了,空間開多了浪費,開少了不夠用。首先...

實現對順序表的增刪查改

線性表 連續儲存 線性表是n個具有相同特性的資料元素的有限序列.線性表是一種在實際中廣泛使用的資料結構,常見的線性表 順序表,鍊錶,棧,佇列,字串 線性表在邏輯上是線性結構,也就是說是連續的一條直線,但是在物理結構上並不一定是連續的,線性表在物理上儲存時,通常以陣列和鏈式結構的形式儲存 順序表 以陣...