C++顺序表操作源码演示

这篇博客分享了C++实现的顺序表操作代码片段,适用于工程实践,供开发者参考学习。
摘要由CSDN通过智能技术生成

将做工程过程比较常用的代码片段珍藏起来,如下资料是关于C++顺序表操作演示的代码,希望对大伙也有用处。

#include<iostream>
#include "malloc.h"
#include <stdio.h>
using namespace std;
struct  SqList{
	int length;
	int listsize;
}L={NULL,0,0};
enum Status
{
};
Status InitList_Sq(SqList &L,int n=LIST_INT_SIZE)
{
	if(0==n)return FAILED;
	if(!L.elem) exit(OVERFLOW1);
	L.length=0;
	L.listsize=n;
	return OK;
}
Status ListInsert_Sq(SqList &L,int i,ElemType e)
	if(L.length>=L.listsize)
	{
		L.elem=newbase;
		L.listsize++;
	}
	for(;p>q;p--)
	L.length++;
return OK;
}
{
	if(L.length<0||i>L.length||i<=0) return FAILED;
	if(0==L.length) return EMPTY;
	if(e)
	for(;p<=L.elem+L.length;p++)
	{
	}
	L.length--;
	return OK;
 
}
Status ListInput_Sq(SqList &L,int n)
{
	for(int i=0;i<n;i++)
	{
		L.length++;
	}
	return OK;
}
Status ListOutput_Sq(SqList &L)
{
	p=L.elem;
	cout<<"顺序表中的元素为:";
	for(int i=0;i<L.length;i++)
	{
	}
	cout<<endl;
	return OK;
}
{
	int max;
	p=L.elem;
	for(int i=0;i<L.length;i++)
	{
	}
	return OK;
}
Status ListSort_Sq(SqList &L)
{
	int tmp;
	int i,j;
	p=L.elem;
	for(i=0;i<L.length-1;i++)
	{
		for(j=0;j<L.length-i-1;j++)
		{
			{
			}
		}
	}
	return OK;
}
Status ListRevorder_Sq(SqList &L)
{
	int tmp;
	p=L.elem;
	for(int i=0;i<L.length/2;i++)
	{
	}
	return OK;
}
Status ListRevorder1_Sq(SqList &L)
{
	p=L.elem;
	for(int i=0;i<L.length/2;i++)
	{
	}
	return OK;
}
int main()
{
	int opt;
	int i,res,e,n;
	n=0;
	while(1)
	{
 
		if(n)
		{
			while(getchar()!='n'&&getchar()!=' ');
			while(getchar()!='n'&&getchar()!=' ');
		}
		cout<<"1.建立一个顺序表,输入n个数字元素并输出"<<endl;
		cout<<"2.查找线性表中的最大元素并输出"<<endl;
		cout<<"3.在线性表的第i个元素前插入一个正整数x"<<endl;
		cout<<"4.删除线性表中的第j个元素"<<endl;
		cout<<"5.将线性表中的元素按升序排列"<<endl;
		cout<<"6.将线性表中的元素就地逆序(只允许用一个暂存单元)"<<endl;
		cout<<"7.将线性表中的元素就地逆序(不使用暂存单元)"<<endl;
		cout<<"8.退出"<<endl<<endl;
		cin>>opt;
		switch (opt)
		{
			case 1:
			cin>>n;
			break;
			case 2:
			if(!L.elem)
			{
				cout<<"顺序表未初始化,请初始化顺序表!"<<endl<<endl;
				break;
			}
			ListMax_Sq(L,&e);
			cout<<"最大元素为:"<<e<<endl;
			break;
			case 3:
			if(!L.elem)
			{
				cout<<"顺序表未初始化,请初始化顺序表!"<<endl<<endl;
				break;
			}
			cout<<"请分别输入要插入的元素和要插入元素的位置"<<endl;
			cout<<"元素:";
			cin>>e;
			cout<<"位置:";
			cin>>i;
			ListInsert_Sq(L,i,e);
			break;
			case 4:
			if(!L.elem)
			{
				cout<<"顺序表未初始化,请初始化顺序表!"<<endl<<endl;
				break;
			}
			cout<<"请输入要删除的元素的位置"<<endl;
 
			ListDelete_Sq(L,i,&res);
			cout<<"删除的元素为:"<<res<<endl;
			break;
			case 5:
			if(!L.elem)
			{
				cout<<"顺序表未初始化,请初始化顺序表!"<<endl<<endl;
				break;
			}
			break;
			case 6:
			if(!L.elem)
			{
				cout<<"顺序表未初始化,请初始化顺序表!"<<endl<<endl;
				break;
			}
			break;
			case 7:
			if(!L.elem)
			{
				cout<<"顺序表未初始化,请初始化顺序表!"<<endl<<endl;
				break;
			}
			break;
			case 8:
				return 0;
			default:
				cout<<"ERROR"<<endl;
		}
	}
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值