给定一个整数数组a,请实现一个排序算法,将该数组从大到小排列并输出

给定一个整数数组a,请实现一个排序算法,将该数组从大到小排列并输出。 Java解答

第1个回答  2016-05-24
public class Test
{
public static void main(String args[])
{
int[] arr = {4, 1, 2, 6, 3, 8, 9, 10, 7, 5};

for (int i = 0; i < 10; i++)
System.out.print(arr[i] + " ");
System.out.println();

for (int i = 0; i < 10 - 1; i++)
for (int j = 0; j < 10 - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
for (int i = 0; i < 10; i++)
System.out.print(arr[i] + " ");
}
}本回答被网友采纳
第2个回答  2016-05-24
#include <stdio.h>
# define N 100
void main ()
{
int i,j,t,n,a[N];
printf("请输入数组元素个数n:");
scanf("%d",&n);
printf("请输入%d个数:",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
for(i=0;i<n;i++)
printf("%-5d",a[i]);
}

给定一个整数序列,采用冒泡排序实现从大到小排列,并输出
int n)\/\/n为数组a的元素个数{ int i,j,temp; for(j=0;j<n-1;j++) for(i=0;i<n-1-j;i++) { if(a[i]>a[i+1])\/\/数组元素大小按升序排列 { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } }}void...

1. 对一个整型数组A[n]设计一个排序算法。 2. 找出整型数组A[n]中元...
首先c++algorithm库里面提供了sort函数支持排序。快排实现的。直接sort就可以了。对于最大和次大是可以通过一边扫描实现的。记录两个指针。max1,max2。保留目前位置的次大和最大。然后扫描的时候更新就行了。但是如果排完序的话,最大和次大就是A[N]和A[N-1](ps:如果是严格次大的话还是需要再扫...

对一个整型数组组A[n]设计一种排序算法
void xuanzepaixu(){ int a[10];int i,j,t,max;printf("input 10 numbers:\\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(j=0;j<9;j++){max=0;for(i=0;i<9-j;i++)if(a[max]<a[i])max=i;if(max!=i-1){t=a[max];a[max]=a[i-1];a[i-1]=t;} } f...

求C语言编程编写函数sort:对数组a中的数进行从小到大排序
1 选择排序 void sort(int a[ ],int length) \/* 这个数组数据类型你可以自己更改 float 也可以 不过其他的也要相应的改 比如%d改为%f等,length 为数组长度*\/ {int *p,temp,i=0,*min;while(i<length){ min=&a[i];for(p=a+i;p<a+length;p++){if(*p<*min){temp=*min;min=*...

c语言怎么输出数组第一个数,和由大到小排序,并输出最大的数
for(i=0;i<N-1;i++)\/\/关键语句,要将5个数排序,只需要每轮从数组第一个数开始和相邻的数比较大小,较大的数放在后面,每轮结束后,大的数都会排最后,相互比较4轮,所以要循环N-1次 for(j=0;j<N-1-i;j++) \/\/第一轮比较结束后,最大的数已经排在最后,相当于可以少比较一次,所以只需...

如何实现按照从小到大的顺序输出?
C语言实现将数组的六个元素按从小到大的顺序输出,可以采用内部排序算法对数组的元素进行排序,然后输出排序后的数组,就可以得到按从小到大的顺序输出。以快速排序为例的排序代码:void quickSort(int a[],int l,int r) { if(l>=r)return;int i = l;int j = r;int key = a[l];\/\/选择...

怎样实现数组按整数大小排序?
(1)交换排序:参照求最大值和最小值的思想,按升序排序的基本过程是将第一个数字与下一个数字进行比较。如果后面的数字很小,那么交换和第一个数字的位置。否则,不要交换。(2)气泡排序:交换和重复两个相邻数字的过程。一般来说,如果有n个数字要排序,则需要n-1起泡。(3)选择排序:在交换...

java怎么让数组的数字从大到小排序?
将数字从大到小排序的方法:例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组中的最大数。然后再将第二个数与后面的数逐个比较,以次类推。示例代码如下: public class Test { public static void main(String[] args) { ...

怎样用C语言对一串整行数从大到小排序
D.L.shell于1959年在以他名字命名的排序算法中实现 了这一思想。算法先将要排序的一组数按某个增量d分成若干组,每组中 记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量 对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成 一组,排序完成。 下面的函数是一个希尔排序算法...

奇偶排序法的思想是怎样实现的?
首先,定义一个数组a,包含10个整数元素。通过循环输入这些元素,数组初始化完成。接下来,使用一个循环遍历数组。对数组中的每个元素执行如下操作:若元素值为奇数,则将其与数组中的下一个元素进行比较,若当前元素值大于下一个元素值,则进行元素交换,使得所有奇数元素按照从小到大顺序排列。接着,通过...

相似回答