用java写 定义一个数组 将它们从小到大排列

如题所述

最佳答案:冒泡排序算法。一下为C#语言例子:
int temp = 0;
int[] arr = { 23, 44, 66, 76, 98, 11, 3, 9, 7 };
Console.WriteLine("排序前的数组:");
foreach (int item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine();
for (int i = 0; i < arr.Length-1; i++)
{
for (int j = 0; j < arr.Length-1-i; j++)
{
if (arr[j+1] > arr[j])
{
temp = arr[j+1];arr[j+1] = arr[j];arr[j] = temp; }
}
}
Console.WriteLine("排序后的数组:");
foreach (int item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine();
Console.ReadKey();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-24

  你可以看看下面的代码,简单的实现了数据的排序功能,希望能帮到你。

   int array[] = {-5,-9,2,5,10,7,895};
   for(int i = 0 ; i < array.length ; i ++) 
   {
     for(int j = i +1 ; j < array.length ; j ++) 
     {
       if(array[i] > array[j]) {
       int temp = array[i];
       array[i] = array[j];
       array[j] = temp;
     }
    }
   }
   for(int i = 0 ; i < array.length ; i ++) {
    System.out.print(" "+array[i]+" ");
   }

第2个回答  2020-08-24

基础不太好,也可做出来,我刚学 5天.代码如下.希望可以帮到你!

第3个回答  推荐于2017-11-26
排序算法有很多,我这里有用快速排序法实现的代码
/**
* 快速排序,排序内容为int数组
* @param pData 数组
* @param left 左边起始下标,即从左至右始于left
* @param right 右边结束下标
* @return
*/
public static int[] QuickSort0(int[] pData, int left, int right) {
int i = left, j = right;
int middle, strTemp;
if (pData.length <= 1) {
return pData;
}
middle = pData[(left + right) / 2];
do {
while ((pData[i] < middle) && (i < right))
i++;
while ((pData[j] > middle) && (j > left))
j--;
if (i <= j) {
strTemp = pData[i];
pData[i] = pData[j];
pData[j] = strTemp;
i++;
j--;
}
} while (i <= j);
if (left < j) {
QuickSort0(pData, left, j);
}

if (right > i)
QuickSort0(pData, i, right);
return pData;
}本回答被网友采纳
第4个回答  2014-02-24
方法挺多,写一个常见的冒泡排序:
public static void main(String[] args) {
int num[] = { 10, 5, 3, 44, 1 };
int size = num.length - 1;
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (num[j] > num[j + 1]) {
int a = num[j];
num[j] = num[j + 1];
num[j + 1] = a;
}
}
}
for (int i = 0; i < num.length; i++) {
System.out.println(num[i] + " ");
}
}
相似回答