/*靜態順序表的實作*/
# include <iostream>
#define Maxsize 10
using namespace std;
typedef struct {
int data[Maxsize];
int length;
}SqlList;
//求表長。回傳線性表L的長度,即L中資料元素的個數
int Length(SqlList L) {
return L.length;
}
//在順序表L中查找第一個元素值等于e的元素,并回傳其位序
int LocateElem(SqlList L, int e) {
for (int i = 0; i < Length(L); i++) {
if (L.data[i] == e)
return i + 1;
}
return -1;
}
//按位查找操作。獲取表L中第i個位置的元素的值
int GetElem(SqlList L, int i) {
if (i > Length(L) || i < 1)
throw "this index is not true";
return L.data[i-1];
}
///初始化鏈表。構造一個空的線性表
void InitList(SqlList &L) {
L.length = 0;
}
//插入操作。在表L中的第i個位置上插入指定元素e
bool InsertList(SqlList &L, int index, int e) {
if (index > L.length || index <= 0)
return false;
for (int i = L.length; i >= index; i--) {
L.data[i] = L.data[i - 1];
}
L.data[index - 1] = e;
L.length++;
return true;
}
//洗掉操作。洗掉表L中的第i個位置的元素
bool DeleteList(SqlList &L, int index, int &e) {
if (index > L.length || index <= 0)
return false;
e = L.data[index - 1];
for (int i = index; i < L.length; i++) {
L.data[i - 1] = L.data[i];
}
L.length--;
return true;
}
///創建起始鏈表資料
bool CreateList(SqlList &L, int n) {
if (n > Maxsize || n <= 0)
return false;
cout << "請輸入" << n << "個資料";
for (int i = 0; i < n; i++) {
cin >> L.data[i];
L.length++;
}
}
//列印輸出
void PrintList(SqlList &L) {
for (int i = 0; i < L.length; i++) {
cout << L.data[i] << " ";
}
cout << endl;
}
//判空操作。若L為空表,則回傳true,否則回傳false
bool Empty(SqlList L) {
if (Length(L))
return true;
else
return false;
}
int main() {
SqlList L;
InitList(L);
printf("請輸入要創建表的長度:");
int n;
cin >> n;
CreateList(L, n);
PrintList(L);
cout << "表的長度為:"<<Length(L) << endl;
int i=LocateElem(L, 4);
cout << "元素4在表中的位置位序為:" << i << endl;
int data=https://bbs.csdn.net/topics/GetElem(L, 3);
cout << "位序為3的元素值為:" << data << endl;
InsertList(L, 3, 10);
cout << "插入后的鏈表:" << endl;
PrintList(L);
int e = -1;
DeleteList(L, 3, e);
cout << "洗掉的元素為:" << e << endl;
cout << "洗掉后的鏈表:" << endl;
PrintList(L);
system("pause");
return 0;
}
uj5u.com熱心網友回復:
有什么問題嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/63066.html
標籤:C++ 語言
上一篇:SHA-1演算法問題
下一篇:工廠機器安排問題
