用java写 定义一个数组 将它们从小到大排列
8个回答
展开全部
最佳答案:冒泡排序算法。一下为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();
}
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();
}
展开全部
你可以看看下面的代码,简单的实现了数据的排序功能,希望能帮到你。
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]+" ");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
排序算法有很多,我这里有用快速排序法实现的代码
/**
* 快速排序,排序内容为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;
}
/**
* 快速排序,排序内容为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;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法挺多,写一个常见的冒泡排序:
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] + " ");
}
}
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] + " ");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询