//順序表基本運算演算法
#include
#include
#define maxsize 50
typedef
int elemtype;
typedef
struct
sqlist;
//順序表的型別
void
createlist
(sqlist *
&l,elemtype a,
int n)
//建立順序表
void
initlist
(sqlist *
&l)//初始化線性表
void
destroylist
(sqlist *
&l)bool
listempty
(sqlist *l)
intlistlength
(sqlist *l)
void
displist
(sqlist *l)
//輸出線性表
bool
getelem
(sqlist *l,
int i,elemtype &e)
//求線性表中的某個資料元素值
intlocateelem
(sqlist *l, elemtype e)
//按元素值查詢
bool
listinsert
(sqlist *
&l,int i,elemtype e)
//求線性表的長度
bool
listdelete
(sqlist *
&l,int i,elemtype &e)
//刪除資料元素
intmain()
已知順序表l為按值遞增有序的,編寫演算法將資料元素e插入到順序表l中,使之仍有序。
通過每一次,將鍊錶中的所有元素與第1(2,3,4…)個元素比較,然後刪除重複的元素
#include
#include
#include
#include
using
namespace std;
const
int list_init_size =
100;
const
int listincreasememt =10;
//定義元素型別
typedef
int elemtype;
//定義順序表節點結構
typedef
struct
sqlist;
//構造空的順序表
bool
initlist_sq
(sqlist &l)
l.length =0;
l.listsize = list_init_size;
return
true;}
//按大小將元素插入到適當位置(順序表遞增有序)
bool
listinsert_sq
(sqlist &l, elemtype e)
//儲存分配失敗
l.elem = newbase;
l.listsize +
= listincreasememt;
}//尋找合適位置並插入
int i;
for(i=
0; ielemtype *q =
&(l.elem[i]);
elemtype *p=
&(l.elem[l.length-1]
);for(q; p>=q; p--
)*q = e;
++l.length;
return
true;}
//輸出順序表
bool
print
(sqlist &l)
printf
("\n");
return0;
}int
main
(int argc,
char
** ar**)
a.length = len;
cout << endl <<
"請輸入需要插入的元素:"
; elemtype x;
scanf
("%d"
,&x)
;listinsert_sq
(a, x);
cout << endl <<
"插入後表中元素依次為:"
;print
(a);
return0;
}
編寫演算法清除順序表l中所有重複的資料元素。
#include
#include
struct node
;int
main
(int argc,
char
const
*ar**)
//通過兩個指標的遍歷來實現刪除重複元素。類似於陣列裡面的雙層迴圈
p = head -
> next;
while
(p -
> next !=
null
)else}if
(p -
> next ==
null
)else}
p = head -
> next;
while
(p)else
p = p -
> next;
}return0;
}
資料結構 資料結構緒論
資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...
資料結構 資料結構演算法
分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...
資料結構 01 資料與資料結構
1.資料data 資料是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合。2.資料元素data elements 資料元素是組成資料的 有一定意義的基本單位,在計算機中通常作為整體進行處理。3.資料物件data object 資料物件是性質相同的資料元素的...