推荐答案
排序算法有很多,我这里有用快速排序法实现的代码
/**
* 快速排序,排序内容为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;
}
辅助答案
用户:龙卷风zcc
2018年05月17日
最佳答案:冒泡排序算法。一下为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();
}
用户:雨中聆听梦
2018年04月13日
你可以看看下面的代码,简单的实现了数据的排序功能,希望能帮到你。
int array[] = {-5,-9,2,5,10,7,895};
for(int i = 0 ; i
{
for(int j = i +1 ; j
{
if(array[i] > array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
for(int i = 0 ; i
System.out.print(" "+array[i]+" ");
}
用户:lhs981
2018年03月27日
方法挺多,写一个常见的冒泡排序:
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] + " ");
}
}
用户:随梦奔跑110
2018年04月21日
int[] arr = {4,5,2,6};
//用sort方法排序
Arrays.sort(arr);
//for循环打印
for(int i = 0;i
System.out.println(arr[i]);
}
//增强for循环打印
for (int i : arr) {
System.out.println(i);
}