(一)資料結構線性表的C 實現

2021-07-06 05:51:53 字數 1467 閱讀 1559

資料結構線性表的c++實現,參考的是嚴蔚敏老師的資料結構書

#include

using namespace std;

#define list_init_size 100  //線性表初始空間分配值

#define listincrement 10    //線性表增量

#define true 1

#define false 0

#define ok 1

#define error 0

//#define overflow 0

typedef int elemtype;

typedef int status;

typedef struct  

sqlist;

status initlist(sqlist &l)//初始化線性表

void destroylist(sqlist &l)//銷毀線性表

else

cout << "線性表不存在" << endl;

}status clearlist(sqlist &l)//將線性表置為空表

else

return true;

}status listempty(sqlist &l)//若l為空,返回1;反之,返回0

status listlength(sqlist l)//線性表元素個數

status getelem(sqlist l,int i,elemtype *e)//得到線性表第i個值,並用e返回

status listinsert(sqlist &l,int i,elemtype e)//插入新的資料元素

q = &(l.elem[i-1]);

for (p = &(l.elem[l.length-1]);p >= q; --p)

*q = e;

++l.length;

return ok;

}status listdelete(sqlist &l,int i,elemtype &e)//刪除第i個資料元素

p = &l.elem[i];

e = *p;

for (q = p; q <(l.elem + l.length) ;q++)指首元素,l.elem + l.length指最後乙個元素

--l.length;

return ok;

}int main()

;for (int i = 0;i < 3;i++)

cout << la.length << endl;

elemtype e;

getelem(la,2, &e);

cout << e << endl;

listdelete(la,0,e);

cout << e << endl;

for (int i = 0;i < la.length;i++)

system("pause");

return 0;

}

資料結構複習 線性表(一)陣列

include include define maxsize 20 struct lnode typedef struct lnode list 陣列線性表的指標重新命名 初始化乙個空表 list makeempty 查詢 在list線性表中查詢第乙個target元素的index int find ...

資料結構 線性表的C 實現

include using namespace std define pelinear list success 0 操作成功 define pelinear list error overflow 1 操作失敗 溢位 define pelinear list error notenough 2 操...

一 資料結構與演算法 線性表

好了,廢話不多說。開始!自己定義的第一章,線性表。什麼是線性表呢,官方定義是 零個或有限個多個資料元素的有限序列。個人的理解就 相當於 乙個一維陣列。這就規定了 其中的元素要有相同的資料型別,要有一定的長度,陣列的長度就是這個線性表的最大長度,並且要順序儲存。define maxsize 20 儲存...