C 實現順序表,高階版

2021-08-21 11:05:02 字數 1721 閱讀 5954

//編寫程式,建立並顯示出乙個有10個資料元素的順序線性表

//實現順序線性表的插入,查詢,刪除等演算法

#include#include#define list_init_size 100 //表長度初始定義

#define list_increment 10 //順序表的最大長度

using namespace std;

struct sqlist

;void error(const char *s)

void initlist_sq(sqlist &l) //建立有若干個資料元素的順序表,引用型指標, 初始化表

void create_sq(sqlist *l)

cout << "建立順序表成功" << endl;

}void increment(sqlist &l) //為順序表擴充套件list_incremen個資料元素空間

for (int i = 0; i < l.length; i++)//將原空間中的資料元素挪到新的資料空間中

//釋放元素所占用空間

l.elem = l.newlist;//移交空間首位址;

delete l.elem;

l.listsize += list_increment;//修改當前順序表的最大空間;

}void listinsert_sq(sqlist &l, int i, int e)

//在順序表中第i個位置插入元素e;若插入位置.不合理則給出相關資訊並退出執行

//i的合理範圍是1<=i<=l.length+1

*q = e; //在l的第i個位置插入元素e

l.length++; //修改當前順序表長度

}void listdelete_sq(sqlist &l, int i, int &e)

//刪除表中的i元素並用e返回其值

l.length--; //修改l長度

cout << "刪除元素是";

cout << e << endl;

}int locatelem_sq(sqlist l, int e)//查詢e元素,若找到,則返回元素位序,否則返回0

if (j > l.length)

return j;

else

return 0;

}void getelem_sq(sqlist l, int i, int &e)//輸出順序表中要操作的那個元素

void printelem_sq(sqlist l)//輸出順序表中所有元素

cout << endl;

}int mail()

case 3:

cout << "請輸入查詢的元素:";

cin >> e;

while (e != 0)

break;

case 4:

cout << "請輸入要刪除的位置 :";

cin >> number;

listdelete_sq(l, number, e);

printelem_sq(l);

break;//程式結束

case 5:

exit(1);

break;//程式結束

default:

cout << "輸入錯誤,請重新輸入!!!!!" << endl;

continue;

}break;

}return 0;

}

順序表(C 實現)

順序表是基本的資料結構,建立seqlist類,主要包括類的預設成員函式 建構函式 析構函式 賦值運算子過載 順序表的基本功能實現。順序表 typedef int datatype class seqlist seqlist 析構函式 深拷貝 seqlist const seqlist s 拷貝建構函...

C 實現順序表

順序表 用一段位址連續的儲存單元一次儲存資料元素的線性結構。目的 比較陣列 下來用 來實現順序表的各個功能 includeusing namespace std typedef int datatype class seqlist seqlist const seqlist s 拷貝建構函式 els...

c 實現順序表

include using namespace std define max size 20 define ok 1 define error 0 typedef int status typedef int elemtype 元素型別可以改變,假定這裡為int class sqlist void ...