c 實驗2 順序儲存線性表

2022-09-13 19:18:08 字數 2400 閱讀 4485

實現了動態陣列的增刪改查  前驅後繼  a=aub 動態陣列右移

(1)順序表儲存結構的定義(類的宣告):

class

seqlist

;

(2)初始化順序表演算法實現(不帶引數的建構函式)

seqlist::seqlist()

(3)順序表的建立演算法(帶引數的建構函式)

seqlist::seqlist(datatype a,int n)                   //

建構函式

(4)在順序表的第i個位置前插入元素e演算法

void seqlist::insert(const datatype& e,int i)    //

插入//

在指定位置i前插入乙個資料元素item

(5)刪除線性表中第i個元素演算法

datatype seqlist::delete(const

int i) //

刪除//

刪除指定位置i的資料元素,刪除的元素由函式返回

(6)遍歷線性表元素演算法

datatype seqlist::getall()

(7)獲得線性表長度演算法

int seqlist::size(void) const

//取當前資料元素個數

(8)在順序線性表中查詢e值,返回該元素的位序演算法

datatype seqlist::finde(datatype e)

return -1

;}

(9)獲得順序線性表第i個元素的值

datatype seqlist::getdata(int i) const

//取資料元素

//取位置i的資料元素,取到的資料元素由函式返回

(10)判表空演算法

bool

seqlist::isnull()

(11)求直接前驅結點演算法

datatype seqlist::before(datatype e)

}

(12)求直接後繼結點演算法

datatype seqlist::before(datatype e)

}

(13)實現a=aub演算法。

datatype seqlist::aub(seqlist s1)

else

if(this->getdata(mina)else

}if(this->getdata(mina)!=0

) s2.insert(getdata(mina),size+s1.size-1

);

else

s2.insert(s1.getdata(minb),size+s1.size-1

); cout

<<"

\naub=";

s2.getall();

return0;

}

(14)對以上順序錶類中的基本操作演算法適當加以補充,實現向乙個有序的(非遞減)的順序表中插入資料元素e演算法。

void seqlist::insert1(const datatype&e)

insert(e,count);

}

(15)用演算法實現將線性表迴圈右移k位。(m=k%l.length,每次取最後乙個元素,插入到第1個位置,做m次)

void seqlist::turnright(int

k) size=size+k;

for(int j=0;j)

list[j]=0

;

for(int m=0,f=size;m1;m++,f--)

}

線性表的順序儲存實驗程式

先宣告一下,我是菜鳥,學習資料結構,鼓搗了一天,用c語言寫出這麼乙個東西,歡迎批評指正。也給自己留第乙個腳印。線性表順序儲存結構實驗程式 include include include define maxsize 100 define file path d data.txt typedef st...

線性表順序儲存

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

線性表順序儲存

時間複雜度效率 o 1 o logn o n o nlogn o n 2 o n 3 o 2 n o n o n n 線性表順序儲存 線性表 順序儲存 include include define maxsize 1024 typedef int elementtype typedef struct...