概述
#include <stdio.h>
#include <iostream>
#define MAXSIZE 10
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;
using namespace std;
typedef struct
{
int number;
} Polynomial;
typedef struct
{
Polynomial *elem;
int length;
} SqList;
//构造一个空的顺序表L
Status InitList(SqList &L)
{
if (!L.elem)
exit(OVERFLOW);
L.elem = new Polynomial[MAXSIZE];
L.length = 0;
return OK;
}
//获取顺序表中第i个元素值
Status GetElem(SqList L, int i, int &e)
{
if (i > L.length || i < 1)
return ERROR;
e = L.elem[i - 1].number;
return OK;
}
//在表中查找值等于e的元素,成功即返回元素的序号
Status LocateElem(SqList L, int e)
{
for (int i = 0; i < L.length; i++)
if (L.elem[i].number == e)
return i + 1;
return 0;
}
//为顺序表插入一些数据
Status Fill(SqList &L)
{
cout << "请为空顺序表赋值" << endl;
for (int i = 0; i < MAXSIZE - 1; i++) //为了便于插入操作,表中的元素空了一个位置
{
cin >> L.elem[i].number;
L.length += 1;
}
return OK;
}
//在顺序表中插入元素
Status ListInsert(SqList &L, int i, int e)
{
if (i < 1 || i > L.length + 1)
return ERROR;
if (L.length == MAXSIZE)
return ERROR;
for (int j = L.length - 1; j >= i - 1; j--)
L.elem[j + 1] = L.elem[j];
L.elem[i - 1].number = e;
L.length++;
cout << "插入后的表为";
for (int k = 0; k < L.length; k++)
cout << L.elem[k].number << " ";
return OK;
}
//在顺序表中删除元素
Status ListDelete(SqList &L, int i)
{
if (i < 1 || i >= L.length)
return ERROR;
for (int j = i; j < L.length; j++)
L.elem[j - 1] = L.elem[j];
L.length--;
cout << "刪除后的表为";
for (int k = 0; k < L.length; k++)
cout << L.elem[k].number << " ";
return OK;
}
Status main()
{
int i, e;
SqList L;
InitList(L); //构造一个空的顺序表L************************
Fill(L); //为顺序表插入一些数据
// cout<<"请输入想要第几个元素的值";
// cin>>i;
// GetElem(L,i,e);//获取顺序表中第i个元素值******************************
// cout<<"第"<<i<<"个元素值为"<<e;
// cout<<"请输入想要查找的元素值";
// cin>>e;
// cout<<e<<"在数组中的序号为"<<LocateElem(L,e);**************************//在表中查找值等于e的元素,成功即返回元素的序号
// cout<<"请输入要插入的位置";
// cin>>i;
// cout<<"请输入要插入的值";
// cin>>e;
// ListInsert(L,i,e);//在顺序表中插入元素*************************
// cout<<"请输入要删除元素序号";
// cin>>i;
// ListDelete(L,i);//在顺序表中删除元素******************************
}
最后
以上就是深情心锁为你收集整理的C语言实现线性表顺序存储结构的全部内容,希望文章能够帮你解决C语言实现线性表顺序存储结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复