zoukankan      html  css  js  c++  java
  • 数据结构:顺序表的基本操作

    顺序表作业:

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    using namespace std;
    typedef int T;
    class SeqList{
    private:
        T *data;
        int MaxSize; ///顺序表最多可以存放的元素个数。
        int last; ///顺序表最后一个元素的下标,初始值为-1。
    public:
        SeqList(int sz);
        void Input();///首先输入元素的个数,然后顺次输入元素的值。
        void Output();///输出线性表的所有元素。
        void Insert(const T x, int i );///在线性表中第i个位置插入值为x的元素。
        void Remove ( T x );///从线性表中删除第一个值等于x的元素。
    };
    
    SeqList::SeqList(int sz) {
        data = new T[sz];
        MaxSize = sz;
        last = -1;
    }
    void SeqList::Input() {
        int n;
        cin >> n;
        int value;
        for(int i = 0; i < n; ++i){
            cin >>value;
            *(data+i) = value;
        }
        last=n-1;
    }
    void SeqList::Output(){
        cout <<"The elements are:" <<endl;
        for(int i = 0; i <= last; ++i){
            cout <<*(data+i) <<endl;
        }
    }
    void SeqList::Insert(int value, int locate){
        if(last == -1){
            *data = value;
            last = 0;
        }
        else if(locate > last){
            ++last;
            *(data + last) = value;
        }
        else{
            ++last;
            int i;
            for(i = last; i > locate; --i){
                *(data+i) = *(data+i-1);
            }
            *(data+i) = value;
        }
    }
    void SeqList::Remove(int value){
        int i;--last;
        for(i = 0; i <= last&&*(data+i)!=value; ++i){
            *(data+i) = *(data+i+1);
        }
        for(i = 0; i <= last; ++i){
            *(data+i) = *(data+i+1);
        }
    }
    int main(){
        SeqList myList(100);
        myList.Input();
        myList.Output ();
        int i;
        for( i=0; i<5; i++)
            myList.Insert(i+10,i);
        myList.Output ();
        for( i=10; i<15; i++)
            myList.Remove(i);
        myList.Output ();
        return 0;
    }
  • 相关阅读:
    Vmware 可用的激活码
    查询某网址的百度收藏量
    SQL 分页实现
    JS 分页实现
    分页逻辑分析
    Mysql总结概述
    解析select *
    teradata中EXPLAIN执行计划总结
    Teradata Join类型
    Teradata中join总结
  • 原文地址:https://www.cnblogs.com/Kurokey/p/5883163.html
Copyright © 2011-2022 走看看