資料結構實驗一順序表基本操作題目和源程式

2021-03-03 23:54:00 字數 1839 閱讀 5624

實驗1: 順序表基本操作

一、實驗目的

1.學會定義線性表的順序儲存型別,實現c程式的基本結構,對線性表的一些基本操作和具體的函式定義。

2.掌握順序表的基本操作,實現順序表的插入、刪除、查詢以及求並集等運算。

3.掌握對多函式程式的輸入、編輯、除錯和執行過程。

二、實驗要求

1.預習c語言中結構體的定義與基本操作方法。

2.對順序表的每個基本操作用單獨的函式實現。

3.編寫完整程式完成下面的實驗內容並上機執行。

4.整理並上交實驗報告。

三、實驗內容:

1.編寫程式實現順序表的下列基本操作:

(1)初始化順序表la。

(2)將la置為空表。

(3)銷毀la。

(4)在la中插入乙個新的元素。

(5)刪除la中的某一元素。

(6)在la中查詢某元素,若找到,則返回它在la中第一次出現的位置,否則返回0。

(7)列印輸出la中的元素值。

2.編寫程式完成下面的操作:

(1)構造兩個順序線性表la和lb,其元素都按值非遞減順序排列。

(2)實現歸併la和lb得到新的順序表lc,lc的元素也按值非遞減順序排列。

(3)假設兩個順序線性表la和lb分別表示兩個集合a和b,利用

union_sq操作實現a=a∪b。

四、思考與提高

假設兩個順序線性表la和lb分別表示兩個集合a和b,如何實現a=a ∩b ?

* 01_順序表.cpp -- 順序表基本操作

* 對順序表的每個基本操作都用單獨的函式來實現

* 水上飄 2023年寫

// ds01.cpp : 定義控制台應用程式的入口點。

#include "stdafx.h"

#include

#include

#include

#include

#define list_init_size 100

#define listincrement 10

using namespace std;

typedef struct sqlist;

//構造乙個空的線性表

sqlist initlist( sqlist &l )

//給線性表隨機賦值

void start( sqlist &l, int a )

//輸出線性表的值

void output( sqlist &l )

cout << endl ;

}//使線性表按值非遞減排列

void notdegression( sqlist &l, int a )

n-- ;

a-- ;

}}//歸併la和lb,得到元素也按非遞減排列的lc

void merger( sqlist &la, sqlist &lb, sqlist &lc )

while( pa <= pa_last )

*pc++ = *pa插入la的剩餘元素

while( pb <= pb_last )

*pc++ = *pb插入lb的剩餘元素

}//實現a = a ∪ b

void union_sq( sqlist &la, sqlist &lb )

pa++ ;

}pa_last = la.elem + la.length - 1 ;

while( pb <= pb_last將lb的元素插入到la中

else

pb++ ;

pa = la.elem ;

pa_last = la.elem + la.length - 1 ;

}}int main( )

資料結構之順序表操作實驗

實驗二 順序表的基本操作 a include include define list init size 100 define listincrement 10 typedef char elemtype typedef structsqlist void initlist sqlist l l l...

資料結構實驗三順序棧基本操作

課內實驗任務書 年月日實驗三順序棧的基本操作 一 實驗目的 1.了解順序棧的結構特點及有關概念 2.理解順序棧的儲存結構 3.掌握順序棧的基本操作演算法。二 實驗內容 建立順序棧,完成順序棧的基本操作 初始化 入棧 出棧 輸出 銷毀,置棧空 求棧長 判順序棧是否為空 棧滿 取棧頂元素。三 實驗要點及...

資料結構順序表實驗報告

系專業 2008級 01 班 姓名學號 2010年1 0月 9日 define maxsize 100 include include typedef int elemtype typedef struct sqlist void initlist sqlist l void creatsqlist...