線性表的資料結構是:資料的型別一樣...
所以線性表就類似於陣列,對線性表的操作,更像與陣列的操作...哦
如:typedef struct list
list;
我的理解就是線性表的操作無非就是對陣列的操作,只不過他有比較完善的函式為其方便而存在,而那些函式也僅僅是一些對陣列的基本操作而已,一般用到順序結構的線性表時,用陣列完全可以代替,只不過,如何多人合作的話,順序結構的線性表的優勢就展現出來了哦...
這是我寫的乙個關於順序結構的線性表的程式(在下面還有乙個相當比較標準的它的乙個具體表示法):
# include
using namespace std;
typedef struct list
list;
void initlist(list &l)
void input(list &l , int len)
l.length=len;
}void addlength(list &l)
void insert(list &l , int i ,int e)
}if(i==l.length+1)
*temp=e;
l.length+=1;
}void del(list &l , int i )
它的乙個具體表示法:
# include
using namespace std;
const list_init_size=100;
const listincrement=10;
typedef structsqlist;
void initlist_sq(sqlist&l)
int *q=&(l.elem[i-1]);
for(int*p=&(l.elem[l.length-1]);p>=q;--p)
*(p+1)=*p;
*q=e;
++l.length;
cout<<"ok!"cout<<"error!" e=*p; //被刪除元素的值賦給e int *q=l.elem+l.length-1; //表尾元素的位置 for(++p;p<=q;++p) *(p-1)=*p; //被刪除元素之後的元素左移 --l.length; //表長減1 cout<<"ok!"<}//listdelete_sq bool compare(int m,int n) int locateelem_sq(sqlist l,int e)//locateelem_sq void disp(sqlist&l) }void main() cout cout<} 概要 參考 大話資料結構 把常用的基本資料結構梳理一下。線性表定義 線性表 list 零個或多個資料元素的有限序列。若將線性表記為 a 1,cdots,a a i,a cdots,a n 則表中 a 領先於 a i a i 領先於 a 稱 a 是 a i 的直接前驅元素,a 是 a i 的直接後繼元... 從現在開始,我們開始討論如何實現一些常用的資料結構和其中的一些經典演算法.等把資料結構講完了.我可能會繼續討論vc 的程式設計只是以及vs平台下的c c 開發等等.呵呵.我們進入正題吧.我在這裡就只實現線性表的連表結構.當然了,這裡實際上包含了好多知識.我希望大家在引用的時候.一定要領悟裡面的一些變... 線性表是具有相同特性的資料元素的乙個有限序列。該序列中所含元素的個數叫做線性表的長度,用n表示,n 0。當n 0時,表示線性表是乙個空表,即表中不包含任何元素。設序列中第i i表示位序 個元素為ai 1 i n 線性表的一般表示為 a1,a2,ai,ai 1,an include include d...mysql 線性表 資料結構之線性表
資料結構之線性表
資料結構之線性表