不写代码不采用
å泡æåº int [] num = new int []{1,4,2,3,6}; int temp; //设置 ä¸é´åé å°å©ç¨æ¤åéè¿è¡ ä½ç½®è°æ¢ for(int i = 0 ; i < num.length ; i++ ){ for(int j = 1 ; j < i ; j ++){ if( num[j]>num[j+1]){ //æ´æ¢å¤æç¬¦å· å®ç°æ£åº ååºæåº temp = num[j]; //å¦æ num[0] å¤§äº num[0+1] æ¶ å° å¤§çèµç»ä¸é´åé num[j] = num[j+1]; //å°ç¬¬äºä¸ªä½ç½®num [0+1] å¨èµç» num[0]第ä¸ä¸ªä½ç½® num[j+1] = temp; //æåå° ä¸é´åéä¹å°±æ¯ æå¤§å¼ èµç» 第äºä¸ªå¼ } } } // å¤å±å¾ªç¯ç»æå æ°ç»å为 int [] num = new int []{1,2,3,4,6}; äº å©ä¸çåªè¦è¾åºå°±å¥½äº for(int i = 0 ; i < num.length ; i++){ System.out.println(num[i]); //循ç¯è¾åº æ°ç»å
æ°å } }
} æç¨ java åç æè§ javaå¯è¯»æ§é«ç¹ cè¯è¨å®ç°æè·¯ä¸æ ·
} æç¨ java åç æè§ javaå¯è¯»æ§é«ç¹ cè¯è¨å®ç°æè·¯ä¸æ ·
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-11-03
#include <stdio.h>
void sort(int* a, int n, int (*cmp)(int, int))
{
int i = 0, t;
while(i < n)
if(i == 0 || cmp(a[i], a[i-1]))
++i;
else {
t = a[i];
a[i] = a[i-1];
a[--i] = t;
}
}
int asc(int a, int b)
{
return a > b;
}
int desc(int a, int b)
{
return a < b;
}
void print(char* msg, int* a, int* b)
{
printf(msg);
while(a != b)
printf("%d ", *a++);
putchar('\n');
}
int main()
{
int a[] = { 2,9,0,3,6,5,1,8,4,7 };
sort(a, 10, asc);
print("升序: ", a, a + 10);
sort(a, 10, desc);
print("降序: ", a, a + 10);
}
void sort(int* a, int n, int (*cmp)(int, int))
{
int i = 0, t;
while(i < n)
if(i == 0 || cmp(a[i], a[i-1]))
++i;
else {
t = a[i];
a[i] = a[i-1];
a[--i] = t;
}
}
int asc(int a, int b)
{
return a > b;
}
int desc(int a, int b)
{
return a < b;
}
void print(char* msg, int* a, int* b)
{
printf(msg);
while(a != b)
printf("%d ", *a++);
putchar('\n');
}
int main()
{
int a[] = { 2,9,0,3,6,5,1,8,4,7 };
sort(a, 10, asc);
print("升序: ", a, a + 10);
sort(a, 10, desc);
print("降序: ", a, a + 10);
}