線性表是具有相同資料型別的n(n>0)個資料元素的有限序列,其中n為表長,當n=0時線性表是乙個空表。
線性表的特點:元素的個數有限,表中元素具有邏輯上的順序性,表中元素有其先後次序,表中元素都是資料元素,每個元素都是單個元素,表中元素的資料型別相同,這意味著每個元素占有相同大小的儲存空間。
initlist(&l),初始化線性表。
length(l):求表長。
locateelem(l,e):按置查詢,e為查詢的值
getelem(l,i):按位查詢,i為第i個元素
listinsert(&l,i,e):插入操作。將e插入第i位置
listdelete(&l,i,&e):刪除操作,刪除第i位置的元素
printlist(l):輸出操作。輸出所有元素的值
empty(l):判空操作。
destroylist(&l):銷毀操作,銷毀線性表。
線性表的順序儲存又順序表,是通過一組位址連續的儲存單元依次儲存線性表中的資料元素,從而使得邏輯上相鄰的兩個元素在物理上也相鄰。
假設線性表的元素型別為elemtype,則線性表的順序儲存型別描述為
typedef
struct
sqlist;
插入bool
listinsert
(sqlist &l,
int i,elemtype e)
刪除bool
listdelete
(sqlist &l,
int i,elemtype e)
按置查詢int
locateelem
(sqlist l,elemtype e)
刪除有序表中值大於x小於y的元素bool
delete_x_y_orderly
(sqlist &l,
int x,
int y)
if(l.data[l.length-1]
if(l.data[0]
>y)
if(x>y)
for(
int i=
0;i(l.data[i]
>y&&b==-1
)if(a!=-1
&&b!=-1
&&b>a)
} l.length-
=b-a-1;
return
true
;}
刪除無序表中值大於x小於y的元素bool
delete_x_y_disorder
(sqlist &l,
int x,
int y)
if(x>y)
int a=0;
for(
int i=
0;il.length=a;
}
元素置逆bool
reverse
(sqlist &l)
return
true
;}
刪除重複元素bool
delete_repeat
(sqlist &l)}if
(b==0)
b=0;
} l.length=a;
return
true
;}
把兩個有序表融合成乙個有序表bool
marge
(sqlist a,sqlist b,sqlist &c)
int i,j,k;
while
(ielse
}while
(iwhile
(jc.length=k;
return
true
;}
在乙個有序順序表裡面查詢值為x的元素,並將其與其後繼元素互換,若沒有值為x的元素則新增進順序表使其仍然有序bool
wangdao9_2
(sqlist &l,
int x)
if(l.data[mid]
>x)
else
}}
使元素後移x位(三步反轉法)bool
reverse
(sqlist &l,
int from,
int to)
return
true;}
bool
backmovep
(sqlist &l)
兩個長度相同的公升序序列,求兩個序列合併之後的中位數,位置在序列長度二分之一處的數稱為中位數(分別比較中位數法)int
m_search
(int a,
int b,
int n)
else
}else
else}}
return a[from1]
?a[from1]
:b[from2]
;}
找出乙個數量超過序列長度二分之一的元素並輸出該元素若無此元素返回-1(重複數計數法,遇到同樣的加一不同的減一,為零則換元素,最後得到的數遍歷檢視是否大於一半)int
majority
(int a,
int n)}if
(count>0)
for(i=count=
0;i}
找出序列未出現過的最小整數,盡量降低時間複雜度#include
#include
intfindmissmin
(int a,
int n)
}}
資料結構 順序表
順序表的特徵 1由唯一的表名標識 2佔據一塊連續的儲存空間 3資料順序存放,元素之間有先後關係 定義動態的順序表 define maxsize 100 typedef struct sqlist 這個結構體型別存放的是順序表的資訊和順序表的資料 初始化順序表 void initsqlist sqli...
資料結構 順序表
順序表示最簡單的乙個資料結構,直接貼 吧,因為比較簡單。include include typedef struct sqlist sqlist void initlist sqlist l l length 0 void getelem sqlist l 初始化 l length j printf...
資料結構順序表
include include include include include include include include include include include include include include using namespace std define maxn 100000...