2 2順序表的實現 動態分配

2021-10-08 06:22:30 字數 1521 閱讀 3516

initlist(&l):初始化表。構造乙個空的線性表l,分配記憶體空間。

listinsert(&l,i,e):插入操作。在表l中的第i個位置上插入指定元素e。

listdelete(&l,i,&e):刪除操作。刪除表l中第i個位置的元素,並用e返回刪除元素的值。

locateelem(l,e):按值查詢操作。在表l中查詢具有給定關鍵字值的元素。

getelem(l,i):按位查詢操作。獲取表l中第i個位置的元素的值。

其他常用操作:

length(l):求表長。返回線性表l的長度,即l中資料元素的個數。

empty(l):判空操作。若l為空表,則返回true,否則返回false。

printlist(l):輸出操作。按前後順序輸出線性表l的所有元素值。

destroylist(&l):銷毀操作。銷毀線性表,並釋放線性表l所占用的記憶體空間。

#include

#include

#define initsize 10

//順序表的初始長度

typedef

struct

seqlist;

void

initlist

(seqlist &l)

//增加動態陣列的長度

void

increasesize

(seqlist &l,

int len)

//插入操作。在表l中的第i個位置上插入指定元素e。

bool listinsert

(seqlist &l,

int i,

int e)

for(

int j=l.length;j>=i;j--

) l.data[i-1]

=e; l.length++

;return true;

}//刪除操作。刪除表l中第i個位置的元素,並用e返回刪除刪除元素的值。

bool listdelete

(seqlist &l,

int i,

int&e)

l.length--

;return true;

}//按位查詢操作。獲取表l中第i個位置的元素的值。

intgetelem

(seqlist &l,

int i)

//按值查詢操作。在表l中查詢第乙個元素值等於e的元素,並返回其次序

intlocateelem

(seqlist &l,

int e)

return0;

}//求表長。返回線性表l的長度,即l中資料元素的個數。

intlength

(seqlist &l)

//判空操作。若l為空表,則返回true,否則返回false。

bool empty

(seqlist &l)

void

printlist

(seqlist &l)

intmain()

順序表 動態分配

儲存空間是程式執行過程中通過動態儲存語句分配的,一旦空間佔滿,就另外開闢一塊更大的儲存空間,用以替換原來的儲存空間。c語言呼叫stdlib庫,使用malloc,free函式。c 使用new,delect。include include define initsize 10 using namespa...

順序表(動態分配記憶體

include 順序表 動態分配記憶體 2010 04 16 11 29 34 include include include include 用來清屏 using namespace std const int list size 1000 const int list size 10 typed...

實現動態分配記憶體

有些時候我們需要在記憶體主動申請記憶體來儲存我們的資料,實現動態分配記憶體的效果,標頭檔案 include 宣告了個關於記憶體動態分配的函式 malloc 函式 函式原型 void malloc usigned int size 作用 在記憶體的動態儲存區 堆區 中分配乙個長度為size的連續空間。...