顺序表的基本运算

来源:互联网 发布:詹姆斯个人数据统计 编辑:程序博客网 时间:2024/05/24 20:07

问题及代码;

/*     *Copyright (c)2016,烟台大学计算机与控制工程学院     *All rights reserved.     *文件名称:table.cpp     *作    者:单昕昕     *完成日期:2016年3月23日     *版 本 号:v1.0     *     *问题描述:顺序表的基本运算。  *程序输入:无。  *程序输出:顺序表。    */    #include <iostream>#include <malloc.h>using namespace std;const int N=100;typedef struct{    char data[N];    int length;} SqList;int main(){    cout<<"顺序表的基本运算如下:"<<endl;///(1)初始化顺序表L;    cout<<"(1)初始化顺序表L"<<endl;    SqList *L;    L=(SqList *)malloc(sizeof(SqList));    L->length=0;///(2)采用尾插法依次插入元素a,b,c,d,e;    cout<<"(2)采用尾插法依次插入元素a,b,c,d,e"<<endl;    int i;    for(i=0; i<5; ++i)    {        L->data[i]=char(i+97);        L->length++;    }///(3)输出顺序表L;    cout<<"(3)输出顺序表L:";    for(i=0; i<L->length; ++i)        cout<<L->data[i]<<" ";    cout<<endl;///(4)输出顺序表L的长度;    cout<<"(4)输出顺序表L的长度:"<<L->length<<endl;///(5)判断顺序表L是否为空;    cout<<"(5)顺序表L";    if(L->length)cout<<"不是";    else cout<<"是";    cout<<"空表"<<endl;///(6)输出顺序表L的第3个元素;    cout<<"(6)顺序表L的第3个元素:"<<L->data[2]<<endl;///(7)输出元素a的位置;    i=0;    while(i<L->length&&L->data[i]!=char(97))        ++i;    if(i>=L->length)        cout<<"顺序表中不存在这个元素"<<endl;    else        cout<<"(7)元素a的位置:"<<++i<<endl;///(8)在第4个元素位置上插入元素f;    cout<<"(8)在第4个元素位置上插入元素f"<<endl;    int j=3;    for(i=L->length; i>j; --i)        L->data[i]=L->data[i-1];    L->data[j]=char(102);    L->length++;///(9)输出顺序表L;    cout<<"(9)输出顺序表L:";    for(i=0; i<L->length; ++i)        cout<<L->data[i]<<" ";    cout<<endl;///(10)删除L的第3个元素;    cout<<"(10)删除L的第3个元素"<<endl;    j=2;    for(i=j; i<L->length-1; ++i)        L->data[i]=L->data[i+1];    L->length--;///(11)输出顺序表L;    cout<<"(11)输出顺序表L:";    for(i=0; i<L->length; ++i)        cout<<L->data[i]<<" ";    cout<<endl;///(12)释放顺序表L。    cout<<"(12)释放顺序表L"<<endl;    free(L);    return 0;}


运行结果:



0 0
原创粉丝点击