实验一线性表的基本操作实现及其应用

一实验目的

    1.熟练掌握线性表的结构特点,掌握顺序表的基本操作。

    2.巩固C++相关的程序设计方法与技术。

    3.学会使用顺序表解决实际问题。


二实验内容

   1.顺序表的建立与操作实现

         建立n个元素的顺序表,实现相关的操作:输出,插入,删除,查找等功能。编写完整程序实现。

   2.总结收获不足,疑问等。


三实验代码及实现结果

   头文件

               #include <iostream>
               using namespace std;
               const int Max=100;
               template <typename T>
               class tem
               {
                public:
                tem(){length=0;}
                tem(int n);
                int Length(){return length;}
                T consult(int i);
                void Insert(int i,T x);
                T Delete(int i);
                void print();
                private:
                T data[Max];
                int length;
                };

   源文件:

             #include "tou.h"

             #include <iostream>
             using namespace std;
             template<class T>
            T tem<T>::consult(int i)
    {
            cout<<"The data is:"<<data[i]<<endl;
            return 0;

    }

            template<class T>

            void tem<T>::Insert(int i,T x)
{
            int n; n=length;
            for(n;n>=i;n--){
            data[n+1]=data[n];
}

            length++;

}
  

            template<class T>
            T tem<T>::Delete(int i){
            int n; n=length;
            for(i;i<=n;i++){
            data[i]=data[i+1];

}
            length--;
            return length;
}
 
          template<class T>
          void tem<T>::print(){
          cout<<"All of the data"<<endl;
          int i; int n; n=length;
          for(i=1;i<=n;i++){
          cout<<data[i]<<" ";
 }
          cout<<endl;
}

          template<class T>
          tem<T>::tem(int n){
          int i; length=n;
          cout<<"please input data"<<endl;
          for(i=1;i<=n;i++){
          cin>>data[i];
 }
 }

          int main(){
          tem<int>x(5);
          x.consult(2);
          x.Insert(2,2);
          x.print();
          x.Delete(2);
          x.print();
}

运行方式:

输入数字{1,2,3,4,5}  通过consult函数查询第二个元素 后将元素2插入表中第二个位置

此时输出全部元素,可见Insert函数运行成功 后运行删除函数将插入的元素删除 输出全部元素可见删除成功

运行结果: 



四.实验收获与总结
1.通过运用顺序表实现目的,不仅利于了解顺序表与线性表的功能,而且巩固了运用C++语言的能力。
2.实践出真知,为以后学习链表打下基础,期待使用链表实践下一次实验。 









猜你喜欢

转载自blog.csdn.net/Lxin12138/article/details/78045540