實現了動態陣列的增刪改查 前驅後繼 a=aub 動態陣列右移
(1)順序表儲存結構的定義(類的宣告):
classseqlist
;
(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(constint 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)判表空演算法
boolseqlist::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(intk) 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...