您的位置:首页 > 其它

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

2017-09-20 21:08 375 查看
一实验目的

    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
;

}

            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函数运行成功 后运行删除函数将插入的元素删除 输出全部元素可见删除成功

运行结果:[b]  [/b]



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








内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: