⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a,b倒置.cpp

📁 共有10个文件代码
💻 CPP
字号:
#include<iostream.h>
#define MaxLen 50     //顺序表中最多元素个数
typedef int elemtype;
typedef elemtype sqlist[MaxLen];
int create(sqlist A)        //创建顺序表
{ 
	int i,n;
	cout<<"创建一个顺序表"<<endl;
	cout<<"输入元素个数:";
	cin>>n;
	cout<<"输入这n个元素值:";
	for(i=0;i<n;i++)
		cin>>A[i];
	return n;
}
void disp(sqlist A,int n)    //输出一个顺序表
{
	int i;
	cout<<"输出一个顺序表"<<endl<<" ";
	if(n==0)
		cout<<"空表";
	for(i=0;i<n;i++)
		cout<<A[i]<<" ";
	cout<<endl;
}
int ins(sqlist A,int n,int i,elemtype x)    //在顺序表的第i个元素前插入一个元素x
//若i=0,则新元素作为第一个元素;若i=n,则插入在最后 
{
	int j;
	if(i<0||i>n)
		cout<<"i值下溢或上溢"<<endl;
	else
	{
		for(j=n-1;j>=i;j--)
			A[j+1]=A[j];           //将第个元素以及其后的元素后移
	    A[i]=x;n++;                //顺序表长度增加1

	}
	return n;
}
int del(sqlist A,int n,int i)
{
	int j;
	if(i<0||i>n)
		cout<<"i值下溢或上溢"<<endl;
	else
	{
		for(j=i-1;j<n;j++)
			A[j]=A[j+1];           //将第i个元素之后的元素前移覆盖A[i]
		n--;
	}
	return n;
}
int find(sqlist A,int n,elemtype x)    //在一个n个元素的顺序表中查找元素值为x的元素
{
	int i=0;
	while(i<=n && A[i]!=x)
		i++;
	if(i<n)
		return 1;
	else 
		return 0;
}
void sort(sqlist A,int k)
{
	int i,j,t,minval,minidx;
	for(i=0;i<k;i++)
	{
		minval=A[i];             //存储A[i+1]至A[i]之间的最小数
		minidx=i;                //存储A[i+1]至A[i]之间的最小数的下标
		for(j=i+1;j<k;j++)
			if(A[j]<minval)
			{
				minval=A[j];
				minidx=j;
			}
			if(minidx!=i)
			{
				t=A[i];        //将A[i]与A[minidx]进行交换
				A[i]=A[minidx];
				A[minidx]=t;
			}
	}
}
void invert(sqlist A,int low,int high)
{
	int m=(high-low+1)/2,i;           //m为长度的一半
	elemtype temp;
	for(i=0;i<m;i++)
	{
		temp=A[low+i];
		A[low+i]=A[high-i];
		A[high-i]=temp;
	}
}
void main()
{
	sqlist A;
	int na,n;
	na=create(A);
	disp(A,na);
	cout<<"以第n个位置为分界点倒置,请输入n的值:";
	cin>>n;
	invert(A,0,na-1);
	disp(A,na);
	invert(A,0,n-1);
	disp(A,na);
	invert(A,n,na-1);
	disp(A,na);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -