问题 5610 --不一样的排序

5610: 不一样的排序★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 145  解决: 37
[提交][状态][命题人:]

题目描述

下面程序将输入的n个数进行排序:

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int* a=new int [n+1];
	for(int i=1;i<=n;i++) cin>>a[i];
	int left1 = 1, left2 = 2;
	int max1,max2;
	while(left1 <= n-1)
	{
		max1 = left1; max2 =left2;
		if (a[max1] < a[max2])
			swap(a[max1],a[max2]);
		for(int i=left2+1;i<=n;i++)
		{
			if(a[max1]<a[i])
			{
				______(1)_______;
				max1=i;
			}
			else if(a[max2]<a[i])
				max2=i;
		}
		if(max1!=left1)
			swap(a[max1],a[left1]);
		if(_____(2)______)
			max2=max1;
		if(max2!=left2)
			swap(a[max2],a[left2]);
		left1 = left2 + 1; 
		______(3)______;
	}
	for(int i=1;i<=n;i++)
		cout<<a[i]<<" ";
	______(4)_______;
	a=NULL;
} 

输入

1)第1空的选项答案为_______

A. max2=max1   B. max1=max2   C. max2=left1   D. max2=i-1

2)第2空的选项答案为________

A. max2==max1    B. max2==left1   C. max1==left1   D. max2==left2

3)第3空的选项答案为_________

A.  left2=max2+1     B. left2=max1+1     C.  left2 = left1 +1    D. left2=left2+1

4)第4空的选项答案为_________

A. free(a)   B. delete [] a[i]  C. delete a  D.  delete [] a

5)若输入为5 10 6 4 9 7,则输出为________

A. 10 9 7 6 4    B. 10 9 7 6 5 4  C. 4 6 7 9 10  D. 4 5 6 7 9 10

输出

只需输出每个空的选项答案即可,参考格式如下:

#include<iostream>
using namespace std;
int main()
{
	cout<<"A"<<endl;
	cout<<"A"<<endl;
	cout<<"A"<<endl;
	cout<<"A"<<endl;
	cout<<"A"<<endl;
} 

提示

来源

[提交][状态]