顺序表的逆置

1.顺序表的创建与插入算法;

2.如何进行顺序表的逆置。

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
#define ok 1 
#define error 0
#define overflow -2
#define MaxSize 100

typedef int Status;
typedef int ElemType;

typedef struct{		//定义结构类型
	ElemType data[MaxSize];	
	int length;		//线性表当前长度 
}SqList; 		//顺序表类型 
//初始化线性表 
Status InitList_Sq(SqList &L){		//初始化操作,建立一个空的线性表 
	if(!L.data)
		exit(overflow);
	L.length = 0;
	return 0;		
}
//顺序表的指定位置插入
ListInsert_Sq(SqList &L,int i,ElemType e){
    if(i<1||i>L.length+1)          //判断i的范围是否有效
        return error;
    if(L.length >= MaxSize)          //判断存储空间已满,不能插入
        return error;
    for(int j=L.length;j>=i;j--)   //将要插入位置的元素及其后面的元素往后移
         L.data[j]=L.data[j-1];
    L.data[i-1]=e;                 //在指定位置放入插入的元素
    L.length++;                    //顺序表现有数据长度加一
    return error;
}
//转置 
Status reverse(SqList &L){
	int i,j;
	ElemType a;			
	i = 0;
	j = L.length-1;
	while(i < j){
		a = L.data[i];
		L.data[i] = L.data[j];		//交换位置 
		L.data[j] = a;
		i++;
		j--;
	}
}
//打印顺序表 
void print(SqList L){
	int i;
	for(i = 0;i < L.length;i++)
		cout<<L.data[i]<<' ';
	cout<<"\n";
} 

int main(){
	int i,j,n,m;
	SqList La;		//申明一个顺序表 
	InitList_Sq(La);		//初始化一个顺序表 
	cout<<"请输入La线性表的长度:";
	cin>>m; 
	cout<<"请输入La线性表:";
	for(i = 1;i <= m;i++){
		cin>>j;
		ListInsert_Sq(La,i,j);		//插入元素 
	}
	cout<<"逆置线性表La:";
	reverse(La);
	print(La);
	return 0;
} 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值