動態順序表(可擴容)的基本操作

2021-07-31 02:25:12 字數 1703 閱讀 9567

標頭檔案:

#define _crt_secure_no_warnings 1

#ifndef _staticseqlist_h__

#define _staticseqlist_h__

#include

#include

#include

#include

#include

#define maxsize 10

#define capacitysize 10

typedef int datatype;

//#define datatype int

typedef struct node

seqlistd,*pseqlistd;

void initseqlistd(pseqlistd seq);

void pushback(pseqlistd seq,datatype data);

void printseqlist(pseqlistd seq);

void popback(pseqlistd seq);

void pushfront(pseqlistd seq,datatype data);

void popfront(pseqlistd seq);

void insert(pseqlistd seq,datatype pos,datatype data);

void erase(pseqlistd seq,datatype pos);

oid popback(pseqlist seq);

#endif //_staticseqlist_h__

順序表實現的**

#include"seqlistd.h"

void

initseqlistd(pseqlistd seq) //初始化動態順序表

intcheckcapacity(pseqlistd seq) //檢查容量

seq->array = ptmp;

seq->capacity += capacitysize;

}return 1;

}void

pushback(pseqlistd seq,datatype

data) //後插動態順序表

}void

popback(pseqlistd seq)

seq->size--;

}void

pushfront(pseqlistd seq,datatype

data) //前插動態順序表

seq->array[0] = data;

}}void

popfront(pseqlistd seq)

seq->size--;

}void

insert(pseqlistd seq,datatype pos,datatype

data) //動態順序表任意位置插入

seq->array[pos] = data;

seq->size++;

}void

erase(pseqlistd seq,datatype pos)

seq->size--;

}void

printseqlist(pseqlistd seq) //列印順序表

printf("\n");

}

動態順序表的基本操作

seqlistd.h pragma once include include include typedef int datatype typedef struct seqlistd seqlistd,pseqlistd void seqlistdinit pseqlistd ps,int capa...

線性表 順序表的基本操作(動態)

線性結構示意圖 對於非空的線性表或線性結構,其特點是 線性表的抽象資料型別定義如下 adt list 線性表 每個元素的型別均為datatype。資料關係 一對一的關係,每個元素有乙個或零個前驅或後繼。operation 基本操作 線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的...

順序表構造,插入,擴容操作

擴容操作函式與功能 函式 功能 insert loc,value 將value插入到順序表中下標為loc的位置 expand 擴大順序表的容量 順序表插入操作的實現方法如下 1,判斷插入位置是否合法。2,判斷順序表是否已滿。3,將目標位置及之後的元素後移一位。4,將待插入的元素值插入到目標位置。順序...