要求:
1.程式設計實現順序表的以下基本操作:建立順序表,修改順序表,插入順序表,刪除順序表。
2.採用順序表結構程式設計實現:兩個集合的運算:交集/並集/差集。
操作例項:
1.插入資料(位置, 資料),要測插入位置不合法的情況(0,1)、(2,1),正確插入4個資料(1,2)、(1,1)、(3,3);
2.顯示順序表中的資料,螢幕輸出1, 2, 3;
3.判空,螢幕輸出順便表非空;
4. 順便表長度,螢幕輸出3;
5.獲取指定位置元素,要測指定位置在【1,3】範圍之外的情況和之內的情況;
6.定位,輸入:4, 輸出:不存在,輸入2,輸出位置為2;
7.求直接前驅,要測求第乙個元素的前驅、不存在順序表中的元素的直接前驅,其他元素的直接前驅;
8. 求直接後繼,要測最後乙個元素的後繼、不存在順序表中的元素的直接後繼,其他元素的直接後繼;
9.刪除,要測位置在【1,3】範圍之外的情況和之內的情況;
10.清空操作後再測長度;
#include
#include
#include
using
namespace std;
typedef
int elemtype;
typedef
int status;
#define maxsize 100
#define listsize 10
#define error 0
#define ok 1
#define overflow -2
typedef
struct
sqlist;
//順序表初始化
status initlist
(sqlist &l)
//清空順序表
status listclean
(sqlist &l)
//順序表的建立
void
listcreat
(sqlist &l)
}//順序表的顯示
status listshow
(sqlist l)
cout
}//順序表的插入
status listinsert
(sqlist &l,
int i,elemtype e)
if(l.length==maxsize)
return error;
for(
int j=l.length-
1;j>=i-
1;j--
) l.elem[i-1]
=e;++l.length;
return ok;
}//順序表的刪除
status listdelet
(sqlist &l,
int i)
for(
int j=i;j<=l.length-
1;j++
)--l.length;
return ok;
}//求線性表長度
status listlength
(sqlist l)
//獲取指定位置元素
status getelem
(sqlist l,
int i,elemtype e)
e=l.elem[i-1]
; cout
}//求前驅
status getpre
(sqlist l,elemtype e)
else
cout<
}else
if(i==l.length-1)
}}//求後繼
status getnext
(sqlist l,elemtype e)
else
cout<
}else
if(i==l.length-1)
}}//判斷是否為空
status emptylist
(sqlist l)
else
cout<<
"非空"
}int
main()
else
if(i==2)
else
if(i==3)
else
if(i==4)
else
if(i==5)
else
if(i==6)
else
if(i==7)
else
if(i==8)
else
if(i==9)
else
if(i<0)
}return0;
}
資料結構 順序表操作
define max size 1000 include include typedef int datatype typedef struct seqlist seqlist void seqprint seqlist psl 列印順序表 void seqlistinit seqlist psl ...
資料結構 線性順序表操作(c )
1 線性順序表 必要屬性 元素型別指標,元素容量,元素的實際長度 2 操作方法 建立 銷毀 清空 插入 刪除 獲取容量 獲取長度 獲取某一元素所在的位置 獲取指定位置的元素 include stdio.h include include include templateclass corderlis...
資料結構 順序表的操作
1 輸入一組整型元素序列,建立順序表。2 實現該順序表的遍歷。3 在該順序表中進行順序查詢某一元素,查詢成功返回1,否則返回0。4 判斷該順序表中元素是否對稱,對稱返回1,否則返回0。5 實現把該表中所有奇數排在偶數之前,即表的前面為奇數,後面為偶數。6 輸入整型元素序列利用有序表插入演算法建立乙個...