動態順序表

2021-08-19 21:59:49 字數 2127 閱讀 8585

動態是在用的時候在開闢,

乙個節省了時間而有可能會造成記憶體浪費或者記憶體不足,動態與齊相反,是有可能花費時間來減少空間的浪費,也不存在記憶體分配不足問題。

標頭檔案:

#pragma once

#define init_size 10

typedef

struct dsqlist這裡寫**片

dsqlist,*pdsqlist;

void initdseqlist(pdsqlist pds);

static

bool isfull(pdsqlist pds);

static

bool isempty(pdsqlist pds);

static

void inc(pdsqlist pds);

bool insert(pdsqlist pds,int pos,int val);

int search(pdsqlist pds,int pos,int key);

bool deletepos(pdsqlist pds,int pos,int *rtv);

bool delete(pdsqlist pds,int pos,int key);

bool getelem(pdsqlist pds,int pos,int *rtv);

bool clear(pdsqlist pds);

bool destroy(pdsqlist pds);

bool getlength(pdsqlist pds);

void show(pdsqlist pds);

**:void initdseqlist(pdsqlist pds)

static

bool isfull(pdsqlist pds)

static

bool isempty(pdsqlist pds)

static

void inc(pdsqlist pds)

bool insert(pdsqlist pds,int pos,int val)

for(int i = pds->usedsize;i >= pos;i--)

pds->elem[pos] = val;

pds->usedsize++;

return

true;

}int search(pdsqlist pds,int pos,int key)

for(int i = pos;i <= pds->usedsize;i++)

}return -1;

}bool deletepos(pdsqlist pds,int pos,int *rtv)

if(rtv != null)

for(int i = pos;i < pds->usedsize-1;i++)

pds->usedsize--;

return

true;

}bool delete(pdsqlist pds,int pos,int key)

int tmp = search(pds,0,key);

if(tmp < 0)

return deletepos(pds,tmp,null);

}bool getelem(pdsqlist pds,int pos,int *rtv)

if(rtv != null)

return

true;

}

bool clear(pdsqlist pds)

bool destroy(pdsqlist pds)

bool getlength(pdsqlist pds)

void show(pdsqlist pds)

printf("\n");

}實現:

#include

#include"dsqlist.h"

int main()

show(&pds);

//int tmp = 0;

//delete(&pds,5,tmp);

//show(&pds);

// getelem(&pds,5,&tmp);

//printf("%d\n",tmp);

return

0;}

動態順序表

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

動態順序表

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