線性表順序儲存結構

2021-06-22 15:47:48 字數 1477 閱讀 7845



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

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

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

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

3.造成儲存空間的「碎片」

linelist.h檔案

#ifndef _line_list_h

#define _line_list_h

#define maxsize 20

typedef int elemtype;

typedef int bool;

#define true 1

#define false 0

typedef struct

sqlist;

//獲取元素

bool getelem(sqlist* pli,int index, elemtype* pvalue);

//插入資料

bool insertelem(sqlist* pli,int index, elemtype value);

//刪除乙個元素 pet:out, 刪除的元素

bool deleteelem(sqlist *plist,int index,elemtype *pet);

#endif

linelist.cpp檔案

/*

線性鍊錶結構

*///#include "stdafx.h"

#include "linelist.h"

//獲取元素

bool getelem(sqlist* pli,int index, elemtype* pvalue)

*pvalue = pli->data[index-1];

return true;

}//插入資料

bool insertelem(sqlist* pli,int index, elemtype value)

//是否已滿

if(pli->length >= maxsize)

//插入位置之後的元素全部後移一位

//插入位置不在表尾

if(index <= pli->length) }

pli->data[index-1] = value;

pli->length++;

return true;

}//刪除乙個元素 pet:out, 刪除的元素

bool deleteelem(sqlist *plist,int index,elemtype *pet)

*pet = plist->data[index-1];

//是否為最後乙個元素

if(index != plist->length) }

//長度減一

plist->length--;

return true;

}

線性表線性(順序)儲存結構

實現順序表的曾刪查操作 元素結構體 define maxsize 100 線性表的最大長度 typedef int elemtype elemtype為線性表元素的型別 typedef struct sequenlist 插入操作 bool insertinseqlist sequenlist l,...

線性表的順序儲存 線性表的順序儲存結構

1,本文實現乙個線性表 2,順序儲存定義 1,線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表中的資料元素 2,在 c 中可以用乙個陣列作為介質來儲存資料元素 3,設計思路 1,可以用一維陣列實現順序儲存結構 1,儲存空間 t m array 2,當前長度 int m length...

線性表 順序儲存結構

s1線性表的基本概念 1 有而且只有乙個 第一元素 2 有而且只有乙個 最後元素 3 除第一元素之外,其他元素都有唯一的直接前驅。4 除最後元素之外,其他元素都有唯一的直接後繼。s2計算公式 若第乙個元素的位址是a,每個元素占用的儲存空間為d,則陣列的第i個元素的位址可以用如下公式計算 loc i ...