線性表順序儲存相關操作

2021-08-21 18:12:00 字數 1158 閱讀 6640

線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。

下面給出關於線性表順序儲存常用操作的**:

#include #define maxsize 20 //儲存空間初始分配量

#define true 1

#define false 0

typedef int elemtype;

typedef struct

sqlist;

void initlist(sqlist *l) //初始化順序表

int listempty(sqlist l) //判斷表是否為空

void clearlist(sqlist *l) //將線性表清空

void getelem(sqlist l,int i,elemtype *e) //將線性表l中第i個元素值返回給e

return false;}

else if(i > l->length || i < 0)

int t;

for(t = l->length-1;t >= i;t--)

l->data[t + 1] = l->data[t];

l->data[i] = e;

l->length++;

}int listdelete(sqlist *l,int i,elemtype *e) //刪除線性表l中第i個元素,並用e返回其值

else if(i > l->length || i < 0)

*e = l->data[i];

int t;

for(t = i;t < l->length;t++)

l->data[i] = l->data[i + 1];

l->length--;

}int listlength(sqlist l) //返回線性表的長度

void print(sqlist l) //列印線性表

{ int i;

for(i = 0;i 線性表線性儲存結構的優缺點:

優點:無須為表示表中元素中間的邏輯關係而增加額外的儲存空間

可以快速的訪問biao表中任意位置的元素

缺點:插入和刪除操作需要移動大量元素

當線性表長度變化較大時,難以確定儲存空間的容量

造成儲存空間的「碎片」

線性表(順序儲存)的相關操作

include include define list init size 100 定義線性表空間的初始儲存大小為 define true 1 define false 0 define ok 1 define error 0 typedef int status typedef int elemt...

線性表順序儲存基本操作

線性表的基本操作 status,自定義的乙個列舉型別,enum status status list init sqlistptr l 初始化線性表 void list clear sqlistptr l 清空線性表 void list destory sqlistptr l 銷毀線性表 bool ...

線性表順序儲存

線性表順序儲存結構的建立 插入結點 刪除結點 就地逆置。include stdio.h include malloc.h typedef struct slist,list void init list 線性表初始化 void insert list s,int p 線性表插入 void delet...