演算法學習之順序表

2021-09-27 02:40:24 字數 1847 閱讀 8525

順序表:

包含乙個具有maxsize大小的陣列以及順序表長度。

1.初始化順序表

新建立乙個順序表,令其長度為0

2.插入元素

插入點之後的元素後移,插入點資料重新賦值,順序表長度加一。

3.輸出順序表

4.輸出順序表長度

5.判斷順序表是否為空

6.刪除線性表

刪除第i個元素,後面的元素前移,順序表長度減一

#include

#include

#include

#include

#define maxsize 50

typedef

char elemtype;

struct sqlist

;void

initlist

(sqlist *

&l);

//初始化順序表

void

destroylist

(sqlist *

&l);

//釋放順序表

intlistempty

(sqlist * l)

;//判斷順序表是否為空表

intlistlenth

(sqlist *l)

;//返回順序表元素個數

void

displist

(sqlist *l)

;//輸出順序表

intgetelem

(sqlist *l,

int i, elemtype &e)

;//獲取順序表l中第i個元素

intlocateelem

(sqlist * l, elemtype e)

;//在順序表中查詢元素e

intlistinsert

(sqlist *

&l,int i, elemtype e)

;//在順序表第i個位置插入元素e

intlistdelete

(sqlist *

&l,int i,elemtype &e)

;//在順序表中刪除第i個元素

using

namespace std;

intmain()

void

initlist

(sqlist *

& l)

void

destroylist

(sqlist *

&l)int

listempty

(sqlist * l)

intlistlenth

(sqlist * l)

void

displist

(sqlist * l)

cout << endl;

}int

getelem

(sqlist * l,

int i, elemtype & e)

intlocateelem

(sqlist * l, elemtype e)

if(i>=l-

>lenth)

else

}int

listinsert

(sqlist *

& l,

int i, elemtype e)

l->data[i]

= e;

l->lenth++

;return1;

}int

listdelete

(sqlist *

& l,

int i, elemtype &e)

l->lenth--

;return1;

}

演算法學習之順序結構

套路 讀入資料 計算結果 列印輸出 案例一題目 輸入乙個三位數,分離出它的百位 十位和個位,反轉後輸出。樣例輸入 127 樣例輸出 721 分析 首先將三位數讀入變數n,然後進行分離。百位等於n 100,十位等於n 10 10 這裡的 是取餘數操作 個位等於n 10。程式如下 include inc...

演算法學習之順序結構

套路 讀入資料 計算結果 列印輸出 案例一題目 輸入乙個三位數,分離出它的百位 十位和個位,反轉後輸出。樣例輸入 127 樣例輸出 721 分析 首先將三位數讀入變數n,然後進行分離。百位等於n 100,十位等於n 10 10 這裡的 是取餘數操作 個位等於n 10。程式如下 include inc...

演算法學習之鍊錶反轉

摘要 鍊錶逆轉是面試環境中經常遇到的一道題目,也是我們在實際開發中可能會遇到的開發需求。和線性逆轉不一樣,單向鍊錶的節點需要乙個乙個進行處理。有需要的朋友可以看一下,如果有沒考慮周全的地方歡迎指正。為了顯示兩者之間的區別,我們分別對線性記憶體和鍊錶進行逆 status normal revert i...