zoukankan      html  css  js  c++  java
  • 数据结构 之 线性表的实现(实验1)

     代码:

    #include<algorithm>
    #include<iostream>
    #include<stdlib.h>
    #define MAXSIZE 1100
    using namespace std;
    /*
    线性表的实现
    1.插入//ok
    2.删除//ok
    3.在尾部增加//ok
    4.从尾部弹出//ok
    5.是否为空//ok
    6.查找//ok
    7.根据下标获取线性表中的值//ok
    */
    //线性表的数据结构
    class LineTable{
      private:
        int date[MAXSIZE];
        int maxsize;//最大容量
        int size;//当前元素个数
      public:
        LineTable()
        {
            maxsize=MAXSIZE;
            size=0;
        }
        bool push_back(int val)
        {
            if(size==MAXSIZE)
                return 0;//插入失败
            date[size++]=val;
            return 1;
        }
        bool  pop_back(int &val)//从尾部弹出并返回该值
        {
            if(!size)
                return 0;
            val=date[--size];
            return 1;
        }
        bool empty()
        {
            if(!size)
                return 1;
            return 0;
        }
        bool find(int val,int &index)
        {
            for(int i=0;i<size;++i)
            {
                if(date[i]==val)
                {
                    index=i;
                    return 1;
                }
            }
            return 0;
        }
        bool erase(int sub,int &val)//
        {
            if(sub>=0&&sub<size)
            {
                for(int i=sub;i<size-1;++i)
                    date[i]=date[i+1];
                --size;
                return 1;
            }
            return 0;
        }
        bool index(int sub,int &val)
        {
            if(sub<size&&sub>=0)
            {
                val=date[sub];
                return 1;
            }
            return 0;
        }
        bool insert(int index,int val)
        {
            if(size<MAXSIZE&&index>=0&&index<size)
            {
                for(int i=size-1;i>=index;--i)
                    date[i+1]=date[i];
                return 1;
                ++size;
            }
            return 0;;
        }
        bool print()
        {
            for(int i=0;i<size;++i)
                printf("%d%c",date[i],i==size-1?'
    ':' ');
            return 1;
        }
    };
    int main()
    {
        LineTable dch;
        int val;
        dch.push_back(1);
        dch.push_back(2);
        dch.push_back(3);
        dch.print();
        dch.erase(1,val);
        dch.print();
    }
    

    改进:加异常处理可好

  • 相关阅读:
    CUDA[2] Hello,World
    mysql操作
    virsh 连接虚拟机 (vnc 或 控制台)
    ssh访问流程
    使用ceph-deploy进行ceph安装
    openstack 的horizon的结构
    django 后台格式化数据库查询出的日期
    web 应用的部署
    工具
    python性能优化
  • 原文地址:https://www.cnblogs.com/dchnzlh/p/10427301.html
Copyright © 2011-2022 走看看