資料結構順序表及操作集

2022-08-14 18:15:15 字數 4547 閱讀 6942

資料結構與演算法實驗報告姓名:孫瑞霜

一、實驗目的

1、複習線性表的邏輯結構、儲存結構及基本操作; 

2、掌握建立空的順序表(**3.1)、往順序表中輸入元素、輸出順序表中的元素、往順序表中插入元素、從順序表中刪除元素等操作的實現。

二、實驗要求

1. 認真閱讀和掌握教材上和本實驗相關的內容和演算法。

2. 上機將相關演算法實現。

3. 實現上面實驗目的要求的功能,並能進行簡單的驗證。

、實驗內容

1、#include

#include

#define maxsize 100

//順序表的表示

typedef  int  elementtype;

typedef  int  position;

typedef struct lnode * ptrtolnode;

struct lnode

;typedef  ptrtolnode  list;

/*順序表操作的實現

*/list  makeempty()

void createlist(list l)

l->last=n-1;

}void printlist(list l)

position find(list l ,elementtype x)

bool insert(list l ,elementtype x,int i)

bool delete(list  l, int i)

int main()

三、演算法描述

該演算法共涉及六個操作,分別是順序表的建立,輸出元素,查詢,插入和刪除指定位置的元素等操作。建立乙個空的線性表往表中輸入元素查詢元素時,若找不到所給元素則返回error,若找到則返回元素的儲存位置;將x插入第i位置時,若空間已滿,則列印「full」並返回false不滿則插入元素;將順序表中位置i的元素刪除時,刪除位序非法則返回false否則正常進行刪除操作。

四、詳細設計

程式流程圖如下:

五、程式**

#include

#include

#define maxsize 100

//順序表的表示

typedef  int  elementtype;

typedef  int  position;

typedef struct lnode * ptrtolnode;

struct lnode

;

typedef  ptrtolnode  list;

/*順序表操作的實現

*/list makeempty()

void createlist(list l)

l->last=n-1;

}

void printlist(list l)  //輸出順序表中的各個元素

position find( list l, elementtype x )

bool insert(list l ,elementtype x,int i)

if(i<1||i>l->last+2)

for(p = l->last; p >= i-1; p--)

l->data[p+1] = l->data[p];

l->data[i-1] = x;

l->last++;

printf("\n");

printlist(l);             //last仍指向最後元素

return true;

}

bool delete(list  l, int i)

for(p=i; p< l->last; p++)

l->last--;

printf("\n");

printlist(l);             //last仍指向最後元素

return true;

}

int main()

/*此為插入操作的輸入與輸出

*/printf("查詢元素個數:

");

scanf("%d", &n);

while ( n-- )

/*查詢操作的輸入與輸出

*/printf("刪除元素個數

:");

scanf("%d", &n);

while ( n-- )

return 0;

}

/*刪除操作的輸入與輸出

*/五、測試和結果

測試用例:1 2 3 4 5

七、使用者手冊

開啟devc++,新建乙個源程式,拷貝5部分的**進去,點選執行,在出現的介面中按照提示輸入資料一步步按下回車鍵即可執行該程式,最後測試完畢,關閉介面

資料結構 順序表操作集(C語言)

本題要求實現順序表的操作集。list makeempty position find list l,elementtype x bool insert list l,elementtype x,position p bool delete list l,position p 其中list結構定義如下...

資料結構 順序表操作

define max size 1000 include include typedef int datatype typedef struct seqlist seqlist void seqprint seqlist psl 列印順序表 void seqlistinit seqlist psl ...

資料結構 順序表演算法及完整操作

include include include include include using namespace std define list init size 100 線性表儲存空間初始分配量 define listincrement 10 線性表儲存空間的分配增量 define ok 1 de...