順序表的基本運算2

2021-07-22 23:20:40 字數 2739 閱讀 9851

在已經建立線性表的基礎上,求線性表的長度listlength、求線性表l中指定位置的某個資料元素getelem、查詢元素locateelem的演算法都可以實現了。就在原程式的基礎上增加:   

02. 增加求線性表的長度listlength的函式並測試;

03. 增加求線性表l中指定位置的某個資料元素getelem的函式並測試;

04. 增加查詢元素locateelem的函式並測試;

[cpp] view plain copy

01.#include 02.#include 03.

04.#define maxsize 50 //maxsize將用於後面定義儲存空間的大小

05.typedef int elemtype; //elemtype在不同場合可以根據問題的需要確定,在此取簡單的int

06.typedef struct

07. sqlist;

11.

12.//自定義函式宣告部分

13.void createlist(sqlist *&l, elemtype a, int n);//用陣列建立線性表

14.void displist(sqlist *l);//輸出線性表displist(l)

15.bool listempty(sqlist *l);//判定是否為空表listempty(l)

16.int listlength(sqlist *l); //求線性表的長度listlength(l)

17.bool getelem(sqlist *l,int i,elemtype &e); //求某個資料元素值getelem(l,i,e)

18.int locateelem(sqlist *l, elemtype e); //按元素值查詢locateelem(l,e)

19.

20.//實現測試函式

21.int main()

22.;

25. elemtype a;

26. int loc;

27. createlist(sq, x, 6);

28. displist(sq);

29.

30. printf("表長度:%d\n", listlength(sq)); //測試求長度

31.

32. if(getelem(sq, 3, a)) //測試在範圍內的情形

33. printf("找到了第3個元素值為:%d\n", a);

34. else

35. printf("第3個元素超出範圍!\n");

36.

37. if(getelem(sq, 15, a)) //測試不在範圍內的情形

38. printf("找到了第15個元素值為:%d\n", a);

39. else

40. printf("第15個元素超出範圍!\n");

41.

42. if((loc=locateelem(sq, 8))>0) //測試能找到的情形

43. printf("找到了,值為8的元素是第 %d 個\n", loc);

44. else

45. printf("值為8的元素木有找到!\n");

46.

47. if((loc=locateelem(sq, 17))>0) //測試不能找到的情形

48. printf("找到了,值為17的元素是第 %d 個\n", loc);

49. else

50. printf("值為17的元素木有找到!\n");

51.

52. return 0;

53.}

54.

55.//下面實現要測試的各個自定義函式

56.//用陣列建立線性表

57.void createlist(sqlist *&l, elemtype a, int n)

58.

65.

66.//輸出線性表displist(l)

67.void displist(sqlist *l)

68.

76.

77.//判定是否為空表listempty(l)

78.bool listempty(sqlist *l)

79.

82.

83.//求線性表的長度listlength(l)

84.int listlength(sqlist *l)

85.

88.

89.//求某個資料元素值getelem(l,i,e)

90.bool getelem(sqlist *l,int i,elemtype &e)

91.

97.

98.//按元素值查詢locateelem(l,e)

順序表的基本運算2

檔名稱 test.cpp 作 者 邱暖 完成日期 2014年9月14日 版本號 vi.10 問題描述 對建立的線性表的一系列演算法進行測試 include include define maxsize 50 maxsize將用於後面定義儲存空間的大小 typedef int elemtype ele...

順序表的基本運算

問題及 標頭檔案 2015,煙台大學計算機與控制工程學院 完成日期 2015年9月7日 版本 v1.0 問題描述 測試 建立線性表 的演算法createlist,為檢視建表的結果,需要實現 輸出線性表 的演算法displist。要輸出線性表,還要判斷表是否為空,這樣,實現判斷線性表是否為空的演算法l...

順序表的基本運算

順序表的基本運算 以順序表為例 1 目的是要測試 建立線性表 的演算法createlist,為檢視建表的結果,需要實現 輸出線性表 的演算法displist。在研習displist中發現,要輸出線性表,還要判斷表是否為空,這樣,實現判斷線性表是否為空的演算法listempty成為必要。這樣,再加上m...