5、主函式來實驗以上方法
#include
#define maxsize 100
//自定義線性表最大長度
typedef
int elemtype;
typedef
struct sqlist//結構體名
sqlist;
//型別識別符號
把順序表 初始化為空的順序表;只需把順序表的長度length置為0即可;
void
initlist
(sqlist *
&l) l->length =0;
}
返回順序表中的元素的個數。
int
lengthlist
(sqlist *
&l)return l->length;
}
求線性表中第n個元素
//求線性表中第n個元素。
intgetelem
(sqlist *l,
int n)
return l->data[n-1]
;}
在n個位置上插入值為x的元素。插入成功就返回1,不成功就返回0
//插入元素運算。
intinselem
(sqlist *
&l,int x ,
int n)
//判斷順序表是否已滿
else
if(l->length >= maxsize)
for(j;j>n-
1;j--
) l->data[n-1]
= x;
l->length++
;return1;
}
刪除第n個位置上的數,刪除成功返回1,刪除失敗返回0。
//刪除元素運算。
intdelelem
(sqlist *
&l,int n)
for(
int i = n;i) l->length--
;return1;
}
在順序表中查詢值為e的元素的位置。查詢成功返回元素的位置,失敗返回0.
int
locate
(sqlist *l,
int e)
}printf
("沒有這個值");
return0;
}
清空順序表
//清空順序表
void
clearlist
(sqlist *
&l)
返回布林型別的值。
//判斷順序表是否為空。
bool listempty
(sqlist *l)
//列印順序表
void
printlist
(sqlist *l)
for(
int k =
0; k < l->length; k++
)printf
("\n");
}
使用傳入的陣列,賦值給順序表
void
creatsqlist
(int arr,
int n,sqlist *
&l)}
int
main()
;creatsqlist
(a,6
,l);
//建立順序表
printlist
(l);
// inselem(l,100,2);
inselem
(l,200,4
);// delelem(l,5);
// printf("%d",locate(l,2));
printlist
(l);
}
資料結構 順序表的基本操作
計算機中線性表的存放結構主要有兩種 順序儲存結構和鏈式儲存結構。採用前者存放方式的線性表是順序表,採用後者的就是我們平時所說的鍊錶 線性鍊錶 這裡先對順序表的一些基本操作進行歸納和總結,鍊錶的將在後面的文章中歸納總結。順序表的表示,一般都是借助一維陣列。c 語言定義其結構如下 const int m...
資料結構 順序表的基本操作
main include include define true 1 define error 0 define ok 1 define false 0 define overflow 2 typedef int status typedef int elemtype define list ini...
資料結構 順序表的基本操作
老規矩先來看一下題目 本題要求實現順序表元素的增 刪 查詢以及順序表輸出共4個基本操作函式。l是乙個順序表,函式status listinsert sq sqlist l,int pos,elemtype e 是在順序表的pos位置插入乙個元素e pos應該從1開始 函式status listdel...