数组做函数参数--排序函数2
时间: 1ms 内存:128M
描述:
定义一个函数来完成对参数数组中元素的排序工作,函数声明如下:
void sort(int array[ ],int n);//该函数完成对array数组的前n个元素的排序工作
在以下程序的基础上,完成对sort函数的定义,提交时,只提交sort函数的定义即可。
#include <iostream>
using namespace std;void sort(int array[ ],int n);//该函数完成对array数组的前n个元素的排序工作
int main()
{
int a[10]={9,7,5,3,1,8,6,4,2,0};//定义数组的同时进行初始化
int i;
int num;
cin>>num;//输入要对数组中的前num个数进行排序,num在0~10之间
sort(a,num); //对a数组中的前num个元素进行排序for(i=0;i<10;i++) //输出数组元素
cout<<a[i]<<" ";return 0;
}
输入:
输入要对数组中的前几个元素进行排序,该个数在0~10之间
输出:
输出已经按输入个数排好序的十个整数
示例输入:
3
示例输出:
5 7 9 3 1 8 6 4 2 0
提示:
参考答案(内存最优[1096]):
#include<stdio.h>
int main()
{
int i,j,a[10]={9,7,5,3,1,8,6,4,2,0},n,temp;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
}
参考答案(时间最优[0]):
#include <iostream>
using namespace std;
void sort(int array[ ],int n);//该函数完成对array数组的前n个元素的排序工作
int main()
{
int a[10]={9,7,5,3,1,8,6,4,2,0};//定义数组的同时进行初始化
int i;
int num;
cin>>num;//输入要对数组中的前num个数进行排序,num在0~10之间
sort(a,num); //对a数组中的前num个元素进行排序
for(i=0;i<10;i++) //输出数组元素
cout<<a[i]<<" ";
return 0;
}void sort(int array[ ],int n)//该函数完成对array数组的前n个元素的排序工作
{
int i,j;
int temp;
//冒泡排序
for(i=0;i<n-1;i++) //对数组中的前n个元素进行排序
for(j=0;j<n-1-i;j++)
if(array[j]>array[j+1])
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。
