问题及代码;
/*
*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;
}