動態順序表

2021-08-20 08:24:26 字數 1625 閱讀 3998

seqlistd.h

#pragma once

#include#include#include#include#includetypedef int datatype;

typedef struct seqlistd //動態順序表講解時間起始於2017.12.5___21:13分

seqlistd,*pseqlistd;

///void seqlistdinit(pseqlistd pseq);//初始化

void seqlistdpushback(pseqlistd pseq,datatype data);//尾插

void seqlistdpopback(pseqlistd pseq);//尾刪

int seqlistdempty(pseqlistd pseq);//判空

int seqlistdsize(pseqlistd pseq);//判斷有效元素的個數

int seqlistdcapacity(pseqlistd pseq);//判斷容量的大小

void seqlistdclear(pseqlistd pseq);//清空 ,把順序表中元素的個數清為0,不能修改空間的大小

int checkcapacity(pseqlistd pseq);//動態增容

void seqlistddestroy(pseqlistd pseq);

void insert(pseqlistd pseq,size_t pos,datatype data);//任意位置插入和刪除

seqlistd.c

void seqlistdinit(pseqlistd pseq)//初始化

pseq->_capacity = 3;

pseq->_size = 0;

}void seqlistdpushback(pseqlistd pseq, datatype data)//尾插

int checkcapacity(pseqlistd pseq)//順序表已滿,需要處理

memcpy(ptemp, pseq->_pdata, sizeof(datatype)*pseq->_size);//將舊空間元素搬移到新空間

free(pseq->_pdata);//釋放舊空間

pseq->_pdata = ptemp;//更新

pseq->_capacity = newcapacity;

} return 1;

}void seqlistdpopback(pseqlistd pseq)//尾刪

int seqlistdempty(pseqlistd pseq)//判空

int seqlistdsize(pseqlistd pseq)//判斷有效元素的個數

int seqlistdcapacity(pseqlistd pseq)//判斷容量的大小

void seqlistdclear(pseqlistd pseq)//清空 ,把順序表中元素的個數清為0,不能修改空間的大小

void seqlistddestroy(pseqlistd pseq)//銷毀

}

test.c

void testseqlistd()

動態順序表

ifndef seqlist h define seqlist h define capacity 3 typedef struct seqlist typedef enum tag typedef struct findret void expendseqlist seqlist pseq 擴大容...

動態順序表

動態順序表 引用庫函式 include include 巨集定義 define list init size 4 define list add size 2 define overflow 2 typedef int elemtype elemtype元素型別 定義結構體 typedef stru...

動態順序表

順序表是在進算計記憶體總以陣列的形式儲存的線性表,是指用一組位址連續的儲存單元依次儲存資料元素的線性結構。線性表採用的順序儲存就稱之為順序表。順序表是將表中的節點依次存放在計算機記憶體中一組位址連續的儲存單元中。任務要求 實現乙個動態順序表 功能要求 表可以動態增長,尾插元素,尾刪元素,頭插元素,頭...