C++操作顺序表

源文件main.cpp

#include 
#include "SeqList.h"

int main()
{
    double b[]= {1,4,6,2,9,11,1};
    SeqList S;//创建对象
    S.SeqList0(b);
    cout<<"原始顺序表为:";
    S.PrintList();
    cout<<""<

头文件SeqList.h

#ifndef SEQLIST_H_INCLUDED
#define SEQLIST_H_INCLUDED
using namespace std;
const int Maxsize=100;//顺序表最大长度
template 
struct SeqList
{
    void SeqList0(T a[]);//创建长度为n的顺序表
    int Length();
    T get(int i);//按位查找,查找第i个元素值
    T Find(T x);//按值查找,查找值为x的元素序号,返回-1代表未查找到
    void Insert(int i,T x);//插入操作,在第i个位置插入值为x的元素
    void Delete(int i);//删除操作,删除第i个元素
    void PrintList();//按序号依次输出各元素
    T MAX();//取表中最大的
    T MIN();//取表中最小的
    void Sort();//从小到大排序
private:
    T data[Maxsize];
    int length=0;
};

template 
void SeqList::SeqList0(T a[])
{
    for(int i=0; i
int SeqList::Length()
{
    return length;
}

template 
T SeqList::get(int i)
{
    if (i<1||i>length) cout<<"get():超出表长度"<
T SeqList::Find(T x)
{
    for(int i=0; i
void SeqList::Insert(int i,T x)
{
    if(length==Maxsize) cout<<"Insert():溢出"<length+1) cout<<"Insert():插入位置错误"<=i-1; j=j-1)
    {
        data[j+1]=data[j];//从最后的元素开始往后移,到要插入的地方停止
    }
    data[i-1]=x;
    length+=1;//更新表的长度
}

template 
void SeqList::Delete(int i)
{
    if(i<1||i>length) cout<<"Delete():删除的位置不存在"<
void SeqList::PrintList()
{
    for(int i=1; i<=length; i+=1)
    {
        cout<
T SeqList::MAX()
{
    double z=data[0];
    for(int i=0; iz) z=data[i];
    }
    return z;
}

template 
T SeqList::MIN()
{
    double z=data[0];
    for(int i=0; i
void SeqList::Sort()
{
    int a=999;//主要为了while能开始循环
    while(a!=0)
    {
        a=0;
        for(int i=0; idata[i+1])
            {
                double x=data[i];
                data[i]=data[i+1];
                data[i+1]=x;//冒泡排序
                a=a+1;//判断是否执行了if这个语句,没有执行则说明完成排序的,同时a值不会被改变恒为0,从而退出while循环
            }
        }
    }
}
#endif // SEQLIST_H_INCLUDED

运行结果:

原始顺序表为:1 4 6 2 9 11 1
在第5个位置插入7为:1 4 6 2 7 9 11 1
删除第3个位置元素为:1 4 2 7 9 11 1
按位查找,查找第6个元素值为:11
最大值为:11
从小到大排序为:1 1 2 4 7 9 11

你可能感兴趣的:(C++数据结构练习,c++,c语言,算法,排序算法)