概述
#include <iostream>
using namespace std;
#define Maxsize 15
using namespace std;
typedef int DataType;
typedef struct{
DataType data[Maxsize];
//建立一维数组
int SeqLength;
//线性表长度
}SeqList;
//初始化顺序表
SeqList *Init_SeqList();
//插入顺序表的内容
void Define_SeqList(SeqList *L,int n);
//取出顺序表中的元素
void DisPlay_SeqLIst(SeqList *L);
//添加元素到指定的位置
int InSert_SeqList(SeqList *L,int i,DataType x);
//删除指定位置元素
int Delete_SeqList(SeqList *L, int i);
//顺序化初始化算法并清空表
SeqList *Init_SeqList()
{
SeqList *L;
L=new SeqList;
L->SeqLength=0;
//长度设置为-1
return L;
}
//给顺序表插入元素内容
void Define_SeqList(SeqList *L,int n)
{
cout<<"请依次输入顺序表要存储的元素"<<endl;
for(int i=0;i<n;i++)
{
cin>>L->data[i];
//输入数组元素
L->SeqLength++;
}
}
//取出顺序表元素内容
void DisPlay_SeqLIst(SeqList *L)
{
int i;
for(i=0;i<=L->SeqLength-1;i++)
{
cout<<L->data[i]<<" ";
}
cout<<endl;
}
//添加元素到某个位置
int InSert_SeqList(SeqList *L,int i,DataType x)
{
cout<<"把元素"<<x<<"位置上"<<endl;
if (i < 1 || i > L->SeqLength + 1) // 判断是否插错
{
cout<<"插入位置错误"<<endl;
return 0;
}
if (L->SeqLength == Maxsize-1)
//数组长度设定为-1 表满
{
cout<<"表满"<<endl;
return -1;
}
for(int j = L-> SeqLength - 1; j>=1; j--)
//i之后全部往后移
{
L->data[j+1]=L->data[j];
}
L->data[i-1] = x;
//插入
L->SeqLength++;
cout<<"插入成功"<<endl;
DisPlay_SeqLIst(L);
return 1;
}
//删除操作
int Delete_SeqList(SeqList *L, int i)
{
cout<<"将位置"<<i<<"的元素删除"<<endl;
int j;
if(i<1||i<L->SeqLength-1)
{
cout<<"不存在第"<<i<<"个元素"<<endl;
return 0;
}
for(j=i;j<L->SeqLength-1;j++)
{
L->data[j]=L->SeqLength-1;
}
L->SeqLength--;
cout<<"删除成功"<<endl;
DisPlay_SeqLIst(L);
return 1;
}
int main()
{
SeqList *L;
//顺序表定义
L=Init_SeqList();
//顺序表初始化
Define_SeqList(L,6); //定义顺序表
DisPlay_SeqLIst(L);
//顺序表的输出
InSert_SeqList(L,4,3); //顺序表的插入
Delete_SeqList(L,5);
//顺序表删除
return 0;
}
最后
以上就是甜蜜小蜜蜂为你收集整理的数据结构 c++实现顺序表的基本操作/初始化/输入/输出/插入/删除的全部内容,希望文章能够帮你解决数据结构 c++实现顺序表的基本操作/初始化/输入/输出/插入/删除所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复