久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

順序表的實(shí)現(xiàn)

 昵稱32408894 2016-09-08
8:39 2016/9/8


線性表是一種常用邏輯結(jié)構(gòu)(也是邏輯結(jié)構(gòu)中的線性結(jié)構(gòu)),。

順序表:線性表按順序存儲(chǔ)。


順序表的抽象數(shù)據(jù)類型:

ADT sequence_list{
數(shù)據(jù)集合 K:K = {k1,k2,……,Kn}, n>=0, K中的元素是 datatype 類型,;
數(shù)據(jù)關(guān)系 R:R = {r}
r = {<K(i),K(i+1)> | i = 1,2,……,n-1}.
操作集合如下:
1. void init(sequence_list *slt) 順序表的初始化——置空表,。
2. void append(sequence_list *slt, datatype x) 在順序表的后部插入值為 x 的結(jié)點(diǎn),。
3. void display(sequence_list slt) 打印順序表各結(jié)點(diǎn)值。
4. int empty(sequence_list slt) 判斷順序表是否為空,。
5. int find(sequence_list slt, datatype x) 查找順序表中值為 x 結(jié)點(diǎn)的位置,。
6. datatype get(sequence_list slt, int i) 取得順序表中第 i 個(gè)結(jié)點(diǎn)的值。
7. void insert(sequence_list *slt, int position, datatype x) 在順序表的 position 位置插入值為 x 的結(jié)點(diǎn),。
8. void delete(sequence_list *slt, int position) 刪除表中第 position 位置的結(jié)點(diǎn),。
}ADT sequence_list



順序表的代碼實(shí)現(xiàn):
//************************************************************
//*程序作者:Mr.Two
//*完成日期:2016/09/08
//*章    節(jié):第2章
//*題    號(hào):習(xí)題2.2.2
//*題    目:順序表的實(shí)現(xiàn)
//************************************************************

//#include<stdlib.h>
#include<iostream>
using namespace std;

#define MAX_SIZE 100
typedef int datatype;

typedef struct
{
datatype a[MAX_SIZE];
int size;
}sequence_list;

void init(sequence_list *slt)
{
slt->size = 0;
}

void append(sequence_list *slt, datatype x)
{
if (slt->size == MAX_SIZE)
cout << "The sequence list is full!" << endl;
else
slt->a[slt->size++] = x;
}

void display(sequence_list slt)
{
cout << "The sequence list numbers are: " << endl;
for (int i = 0; i < slt.size; i++)
{
cout << slt.a[i] << " ";
}
cout << endl;
}

int empty(sequence_list slt)
{
return slt.size == 0 ? 1 : 0;
}

int find(sequence_list slt, datatype x)
{
for (int i = 0; i<slt.size; i++)
{
if (slt.a[i] == x)
return i;
}
cout << "Not find!" << endl;
}

datatype get(sequence_list slt, int i)
{
if (i<0 || i>slt.size)
{
cout << "The position is error!" << endl;
return -1;
}
return slt.a[i];
}

void insert(sequence_list *slt, int position, datatype x)
{
if (slt->size == MAX_SIZE)
{
cout << "The sequence list is full!" << endl;
}
else
{
for (int i = slt->size; i>position; i--)
{
slt->a[i] = slt->a[i - 1];
}
slt->a[position] = x;
slt->size++;
}
}

void dele(sequence_list *slt, int position)
{
if (empty(*slt))
cout << "The sequence list is empty!" << endl;
else
{
for (int i = position; i<slt->size; i++)
{
slt->a[i] = slt->a[i + 1];
}
slt->size--;
}
}

int menu()
{
int select = 0;
cout << "*************************************************************" << endl;
cout << "1.置空\(chéng)n" << "2.在尾部插入\n" << "3.插入\n" << "4.查找元素位置\n" << "5.查找元素\n" << "6.刪除\n" << "7.瀏覽"<<endl;
cout << "*************************************************************" << endl;
cout << "請(qǐng)輸入你的選擇:" << endl;
cin >> select;
return select;
}
int main(int argc, char *argv[])
{
//TODO :Add what are you want to add

sequence_list slt;
datatype x;
int position;
for (;;)
{
system("pause");
system("cls");
switch (menu())
{
case 1:
init(&slt); break;
case 2:
cout << "請(qǐng)輸入你要添加的元素:" << endl;
cin >> x;
append(&slt, x);
break;
case 3:
cout << "請(qǐng)輸入你要插入的元素:"<<endl;
cin >> x;
cout << "請(qǐng)輸入你要插入的位置:" << endl;
cin >> position;
insert(&slt, position, x);
break;
case 4:
cout << "請(qǐng)輸入你要查找的元素:" << endl;
cin >> x;
position = find(slt, x);
cout << "元素所在位置: " << position << endl;
break;
case 5:
cout << "請(qǐng)輸入你要查找的位置:" << endl;
cin >> position;
x = get(slt, position);
cout << "元素的值為: " << x << endl;
break;
case 6:
cout << "請(qǐng)輸入你要?jiǎng)h除元素的所在位置:" << endl;
cin >> position;
dele(&slt, position);
case 7:
display(slt);
break;
default:
cout << "請(qǐng)輸入正確的選擇!" << endl;
return -1;
}
}
return 0;
}

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約