下面是我的代码。
public class MaoPao { public static void main(String[] args) {
MaoPao m = new MaoPao();
int a [] = {44,664,2222,6468,346,74,964};
int c[] = m.maopao(a);
for(int i = 0; i < c.length; i++){
System.out.println(c[i]);
}
}
public int[] maopao(int a[]){
int b[] = new int[4]; for(int j = 0; j < a.length; j++){
for(int i = 0; i < j; i++){
if(a[i] > a[i+1]){
b[1] = a[i];
a[i] = a[i+1];
a[i+1] = b[1];
}
}
}
return a;
}}
为什么不能正确排序呢。
public class MaoPao { public static void main(String[] args) {
MaoPao m = new MaoPao();
int a [] = {44,664,2222,6468,346,74,964};
int c[] = m.maopao(a);
for(int i = 0; i < c.length; i++){
System.out.println(c[i]);
}
}
public int[] maopao(int a[]){
int b[] = new int[4]; for(int j = 0; j < a.length; j++){
for(int i = 0; i < j; i++){
if(a[i] > a[i+1]){
b[1] = a[i];
a[i] = a[i+1];
a[i+1] = b[1];
}
}
}
return a;
}}
为什么不能正确排序呢。
解决方案 »
- 用Future实现Timeout,Call方法已经返回,但Future.get方法没有得到,而出了timeoutException
- linux下64位jdk最多能支持多大的内存
- 谁知道我错哪里?为什么不能显示?
- 望指点:关于package的一个基本问题
- 继续包的问题与import的问题
- java小程序调试,马上给分
- 在java应用程序中,可不可以等待某个线程执行完后才执行后面的代码
- 哪位仁兄做过多媒体,给我一点建议,答者有分!
- swing JScrollPane实现即时滚动,不等主线程返回实例
- java读取word文档 报错显示:The document is really a RTF file
- 求信息发布接口的代码作一下参考!急!急!
- 正则表达符同时匹配两个以上字符的问题
楼主【java_luan】截止到2008-07-15 15:53:59的历史汇总数据(不包括此帖):
发帖的总数量:9 发帖的总分数:320 每贴平均分数:35
回帖的总数量:24 得分贴总数量:5 回帖的得分率:20%
结贴的总数量:7 结贴的总分数:250
无满意结贴数:0 无满意结贴分:0
未结的帖子数:2 未结的总分数:70
结贴的百分比:77.78 % 结分的百分比:78.13 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
/**
* 冒泡排序
* @param a 目标排序集合
* @param rule 排序规则
* @return 有序的集合
*/
public static int[] bubbleSort(int[] a, boolean rule)
{
int i, j, temp;
boolean flag = true;
int n = a.length; // 升序
if(rule)
{
for(i = 1; i < n && flag; i++)
{
flag = false; for(j = 0; j < n - i; j++)
{
if(a[j] > a[j + 1])
{
flag = true;
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
// 降序
else
{
for(i = 1; i < n && flag; i++)
{
flag = false; for(j = 0; j < n - i; j++)
{
if(a[j] < a[j + 1])
{
flag = true;
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
} return a;
}
MaoPao m = new MaoPao();
int a[] = { 44, 664, 2222, 6468, 346, 74, 964 };
int c[] = m.maopao(a);
for (int i = 0; i < c.length; i++) {
System.out.println(c[i]);
}
} public int[] maopao(int a[]) {
int temp = 0; //定义空桶
for (int j = 0; j < a.length; j++) {
for (int i = j+1; i < a.length; i++) {
if (a[j]<a[i]) { //拿第一个元素与所有的对比,大的放第一个元素里,拿第二个元素对比大的放2号里,类推
temp = a[j]; //元素的交换
a[j]=a[i];
a[i]=temp;
}
}
} return a;
}}你想换两桶水,需要个一个空桶,。
10桶水,先拿第一桶跟第2,第3,....第10个比较 ,比如第3桶比第1桶重,哪么就要把两桶水交换,。交换完继续比较,总之第一桶水永远是最重的
Maopao m = new Maopao();
int a[] = {44, 664, 2222, 6468, 346, 74, 964};
m.maopao(a);
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
} public void maopao(int a[]) {
for (int i = 0; i < a.length - 1; i++) {
for (int j = a.length - 1; j > i; j--) {
if (a[j] < a[j - 1]) {
int temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
}
} }
}
}
for(int j = 0; j < a.length - 1; j++){
for(int i = 0; i < a.length - 1 - j; i++){
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length-i-1;j++){
if(a[j]<a[j+1]){
a[j]^=a[j+1];
a[j+1]^=a[j];
a[j]^=a[j+1];
}
}
}
for(int i=0;i<a.length;i++){
print(a[i]);
}
}