線性表小練習

2021-08-15 23:32:07 字數 1595 閱讀 5081

2018/3/1

資料結構

2.對於增加數採用迴圈的方法,所加數的後面數都向後移(最後的數先移)

for (j = l->length; j >i; j--)
l->data[j] = l->data[j - 1];
3.對於減少數採用迴圈的方法,所減數的後面數字向前移動(最先的數最先移)

for (i; i< l->length; i++)
l->data[i - 1] = l->data[i];
/*對線性表進行操作*/

/*具體方法

1.實現線性表的初始化

2.判斷線性表是否為空

3.判斷線性表的長度

4.遍歷線性表

5.線性表增加數

6.線性表減少數

7.建立乙個線性表

8.清空線性表*/

/*注:用處理陣列的方法來處理線性表*/

#include#include#define maxsize 20

//自定義線性表的最大值

int i;//全域性變數

typedef struct

sqlist;

/*方法一:實現線性表的初始化*/

void initsqlist(sqlist l)

/*方法二:判斷線性表是否為空*/

void isemptysqlist(sqlist l)

else }

/*方法三:線性表測距*/

void lengthofsqlist(sqlist l)

/*方法四:遍歷線性表*/

void listsqlist(sqlist l)

if (i<0 || i>l->length)

int j;

/*從尾部向前退*/

for (j = l->length; j >i; j--)

l->data[i] = e;//插入資料

l->length++;

return 1;

} /*方法六:刪除資料*/

int deletesqlist(sqlist *l,int i)

if (i<1 || i>l->length)

for (i; i< l->length; i++)

l->length--;

return 1;

} /*方法七:直接建立新的線性表*/

void createlist(sqlist *l) }

/*方法八:實現線性表的整表刪除*/

void delete(sqlist *l)

/*方法九:實現線性表的查詢功能*/
void findout(sqlist *l)

printf("你將要查詢的位置是%d號位置\n", num);

printf("你所查詢的數為%d", l->data[num-1]);

} void main()

線性表操作練習

1 線性表練習 1 從給定順序表a中刪除元素值在x到y x y 之間的所有元素,效率要求較高。int def vector a,int n,elemtype x,elemtype y return n k 2 用不多於3n 2的平均比較次數,在乙個順序表a中找出最大的和最小的值。void maxmi...

作業 線性表練習

1 1對於順序儲存的長度為n的線性表,訪問結點和增加結點的時間複雜度分別對應為o 1 和o n 2分 t 1 2對於順序儲存的長度為n的線性表,刪除第乙個元素和插入最後乙個元素的時間複雜度分別對應為o 1 和o n 2分 f 1 3迴圈鍊錶不是線性表。2分 f 1 3答案正確 2 分 1 4順序儲存...

小甲魚線性表

線性表的抽象資料型別 抽象資料型別就是把型別和操作 在一起,資料元素之間的關係是一對一的關係 adt 線性表 list data 資料 資料就是裡面所有的元素 線性表的資料物件集合,每個元素的型別均為datatype operation initlist l 初始化操作,建立乙個空的線性表l lis...