1. 程式人生 > >實驗二:順序表的實現

實驗二:順序表的實現

一、實驗目的

建立一個由n個學生成績的順序表,n的大小由自己確定,每一個學生的成績資訊由自己確定,實現資料的對錶進行插入、刪除、查詢等操作。分別輸出結果。

二、實驗過程
#ifndef SeqList_H
#define SeqList_H
const int Maxsize=24;
class SeqList
{
public:
	SeqList(){length=0;}
	SeqList(int a[],int n);
	~SeqList(){}
	void Insert(int i,int x);
	int Delete(int i);
	int Locate(int x);
	void PrintList();
private:
	int data[Maxsize];
	int length;
};
#endif
#include
using namespace std;
#include"SeqList.h"
SeqList::SeqList(int a[],int n)
{
	if(n>Maxsize)throw"引數非法";
	for(int i=0;i=Maxsize)throw"上溢";
	if(i<1||i>length+1)throw"位置非法";
	for(int j=length;j>=i;j--)
		data[j]=data[j-1];
	data[i-1]=x;
	length++;
}
int SeqList::Delete(int i)
{
	if(length==0)throw"下溢";
	if(i<1||i>length)throw"位置非法";
	int x=data[i-1];
	for(int j=i;j
using namespace std;
#include"SeqList.h"
void main()
{
	int r[5]={100,100,99,88,77};
	SeqList L(r,5);
	cout<<"五位同學的成績為:"<


三、實驗心得 因為上次實驗一的時候是順序表的實現,所以這個直接在實驗一修改了一小部分後,變為成績資料的順序表。需要要繼續學習怎樣將程式更加高階化,如何加入主函式,選單,怎樣讓使用者自己輸入資料等功能。

相關推薦

實驗順序實現

一、實驗目的 建立一個由n個學生成績的順序表,n的大小由自己確定,每一個學生的成績資訊由自己確定,實現資料的對錶進行插入、刪除、查詢等操作。分別輸出結果。 二、實驗過程 #ifndef SeqList_H #define SeqList_H const int Maxsi

C++資料結構實驗報告順序實現

一,順序表的作用 線性結構的基本特徵為: 1.集合中必存在唯一的一個“第一元素”2.集合中必存在唯一的一個 “最後元素”3.除最後一個元素之外,均有 唯一的後繼(後件) 4.除第一個元素之外,均有 唯一的前驅(前件) 由n(n≥0)個數據元素(結點)a1,a2,…,an組

實驗順序佇列的驗證實驗

原始碼: # include<iostream> using namespace std; const int MaxSize=100; template<class DataType> class SeqQueue { public: SeqQueue()

實驗三 用順序實現學生成績管理系統

#include<iostream> using namespace std; class Student { private: char *name[5]; int length; float grade[5]; public: Student(){length=0;} St

資料結構實驗順序的驗證實驗

#ifndef SeqList_H #define SeqList_H const int MaxSize=10; class SeqList { public: SeqList(){length=0;} SeqList(int a[],int n); ~SeqList(){} v

實驗 線性的基本操作

一.實驗目的1、 會定義線性表的順序儲存型別。2、 熟悉C或C++程式的基本結構,掌握程式中的使用者標頭檔案、實現檔案和主檔案之間的相互關係及各自的作用。3、 熟悉對線性表的一些基本操作和具體的函式定義。4、 熟悉TurboC或VC操作環境的使用以及多檔案程式的輸入、編輯、除

實驗順序棧,鏈棧,順序佇列,鏈佇列

#include<iostream.h>const int QueueSize=100;struct Node{ int data; Node *next;};class LinkQueue{public: LinkQueue(); ~LinkQueue(){}; void EnQueue(int

《資料結構》實驗線性實驗實驗報告)

一.實驗目的      鞏固線性表的資料結構,學會線性表的應用。 1.回顧線性表的邏輯結構,線性表的物理儲存結構和常見操作。 2.學習運用線性表的知識來解決實際問題。 3.進一步鞏固程式除錯方法。 4.進一步鞏固模板程式設計。 二.實驗時間    準備時間

實驗順序實現學生系統的基本操作

實驗目的:鞏固線性表的資料的儲存方法和相關操作,學會針對具體應用,使用線性表的相關知識來解決具體問題。 實驗內容:建立一個由n個學生成績的線性表,n的大小由自己確定,每個學生的成績資訊由自己確定,實現資料的對錶進行插入、刪除、查詢等操作。 原始碼: # ifndef SeqList_H

資料結構線性順序結構實現

此程式根據高一凡大神的源程式修改而成。/************************************************************* FileName:c2-1.h Function:定義線性表的動態分配順序儲存結構(動態分配的一維陣列) **

c語言順序實現 ) 就地逆置,有序合併,大小調整。

#include<iostream> #include<stdio.h> #define LIST_INIT_SIZE 100 using namespace std; struct Node { int *elem; int Len

C++順序實現約瑟夫問題_密碼不同

class josephus main clu 定義 void seq esp while //.h #pragma once#include <iostream>using namespace std;#define MAXSIZE 100 template

【線性2】線性順序實現順序

str contains 比較 重載 ins 而不是 eal 單元 con 順序表簡介 特點:使用一組地址連續的存儲單元依次存儲表中的數據元素,常見的就是使用數組去實現。 表中邏輯相鄰的數據元素,在物理內存上也相鄰。 順序表中的任意數

實驗棧與佇列的實現與應用

1、順序棧: #include <iostream> using namespace std; const int StackSize=10; class SeqStack{ public: SeqStack(); //建構函式,初始化一個空棧 ~SeqStack(){

練習三十用python實現:按相反的順序輸出列表的每一位值

用python實現:按相反的順序輸出列表的每一位值 1. 使用list[::-1] 1 list1 = ["one","two","three","four"] 2 for i in list1[::-1]:#list[::-1]結果為列表的反向 3 print(i) 2. 使用l

實驗3線性綜合-順序

1. 建立一個由n個學生成績的順序表,n 的大小由自己確定,每一個學生的成績資訊由自己確定,實現資料的對錶進行插入、刪除、查詢等操作。分別輸出結果。#include<iostream.h>    const int Max=38;  

資料結構(C++)順序實現

包含取值、查詢、插入、刪除等功能:  #include <iostream> using namespace std; typedef int ElemType; //定義 #define MAXSIZE 100 typedef struct {ElemTyp

單鏈的反轉-遞迴和迴圈方式實現

/** * 通過遞迴方式實現單鏈表的反轉 * 原來的單鏈表成為反轉後的單鏈表 * * @param pList NODE_t * :帶頭結點的單鏈表的第一個有效結點 */ NODE_t * SListRecur(NODE_t *pFirst) { if

數字影象實驗幾何變換與變形c++實現

實驗2.1:影象縮放 實現一個影象縮放函式,可以對輸入影象進行任意倍數的縮放; 採用雙線性插值進行重取樣; X,Y方向的縮放倍數參函式引數的形式傳入; 可以只考慮輸入影象為3通道,8位深度的情況; 不能呼叫影象處理庫的縮放函式來完成; 實驗2.2:影

JAVA實驗設計一個教師類Teacher(屬於cn.net.sdkd包)實現介面進行排序等

設計一個教師類Teacher(屬於cn.net.sdkd包) (1)屬性有編號(int no)、姓名(String name)、年齡(int age)、所屬學院(String seminary),為這些屬性設定相應的get和set方法。 (2)為Teacher類重寫equals方