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...