```cpp
執行環境:devcpp
編寫語言:c++
線性表的順序結構演算法操作
#include
using
namespace std;
#define maxsize 20
typedef
struct
sqlist;
//線性表的邏輯元素是從1開始
/* sqlist *l和 sqlist *&l的區別:
(1)*&l:是指標型別的引用 ,代表原指標 */
intmain()
;createlist
(l,a,5)
; e =
getelem
(l,2);
getlist
(l);
cout<<
'\n'
<<
"下標為2的元素"
<" "
(l,5,6
);cout<<
"在第5個位置插入乙個數字:6,後線性表為:"
(l);
cout<<
'\n'
<<
"在第2個位置刪除乙個數字,後線性表為:"
(l,2
,e);
getlist
(l);
return0;
}//線性表的第i個位置插入乙個值,插入平均移動次數為:n/2
bool
listinsert
(sqlist *
&l,int i,
int e)
i--;//線性表的邏輯位置是從1開始,故:減1
//往後面移動
for(
int j = l-
>length;j>i;j--)
l->data[i]
= e;
l->length++
;//長度增 1
return
true;}
//刪除線性表第i個位置的值
bool
listdelete
(sqlist *
&l,int i,
int&e)
i--;//線性表邏輯號從1開始
e = l-
>data[i]
;//賦值
//往前面移動
for(
int j = i;j>length-
1;j++)
l->length--
;return
true;}
//建立乙個順序線性表
void
createlist
(sqlist *
&l,int a,
int n)
l->length = k;
}//銷毀線性表
void
destorylist
(sqlist *
&l)//列印輸出
void
getlist
(sqlist *
&l)}
//初始化線性表
void
initlist
(sqlist *
&l)//判斷線性表是否空
bool
listempty
(sqlist *l)
//線性表的長度
intlistlength
(sqlist *l)
////求線性表中第i個資料元素
intgetelem
(sqlist *l,
int i)
return
(l->data[i]);
}
線性表 線性表的順序儲存結構
線性表的順序儲存結構 線性結構是乙個資料元素的有序 次序 集。集合中必存在唯一的乙個 第一元素 集合中必存在唯一的乙個 最後元素 除最後元素外,均有唯一的後繼 除第一元素外,均有唯一的前驅。adt list 資料關係 r1 adt list 容易混的概念 引用符號 和引用型操作沒有關係 加工型操作 ...
線性表 線性表的順序儲存結構
include include using namespace std define ok 1 define error 0 define list init size 100 define listincrement 10 typedef int status typedef int elemty...
線性表 線性表的順序儲存結構
include include using namespace std define ok 1 define error 0 define list init size 100 define listincrement 10 typedef int status typedef int elemty...