鱼C论坛

 找回密码
 立即注册
查看: 9987|回复: 71

关于冒泡排序的问题,理不清思路,谁能帮我解释下

[复制链接]
发表于 2014-5-10 01:46:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如题。冒泡排序的几个变量不知道是指的什么  晕死我了,谁能帮我解释下,,l, j, k, n: Integer;这几个变量



procedure TForm1.Button2Click(Sender: TObject);
var
  l, j, k, n: Integer;
begin
  For l:=1 to i-1 do
  begin
    k:= i - l;
    For j:=1 to k do
    begin
      If (num[j] < num[j+1]) then
      begin
        n:= num[j];
        num[j]:= num[j+1];
        num[j+1]:= n;
      end;
    end;
  end;

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-10 02:29:01 | 显示全部楼层
C语言的应该看得懂吧 if 和 for 冒泡排序就是那两个循环的嵌套
#include<stdio.h>

int main()
{
        int n[10];
        int i,j,t;
        printf("Please Input ten number:");
        for(i = 0;i<10;i++)//输入10个数字
        {
                scanf("%d",&n[i]);
        }
        for(i = 0;i<10;i++)//冒泡排序
        {
                for(j = i+1;j<10;j++)
                {
                        if(n[i]>n[j])
                        {
                                t = n[i];
                                n[i] = n[j];
                                n[j] = t;
                        }
                }
        }
        for(i = 0;i<10;i++)//输出
        {
                printf("%-5d",n[i]);
        }

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-10 12:18:12 | 显示全部楼层
  for(j = i+1;j<10;j++)

卡这里了。这个 j 是什么啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-11 12:08:25 | 显示全部楼层
什么意思的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-14 16:52:25 | 显示全部楼层
顶~~~~~~~~~~~~~~~~~~~~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-25 16:54:06 | 显示全部楼层
积分测试中。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-26 12:06:56 | 显示全部楼层
我不懂你用的语言,不过原理应该差不多
我只会java,代码其实和c差不多,不要在意这小细节拉

public class Test2 {

        public static void main(String[] args) {
                int [] list={9,5,4,2,1,0,7,22,41,11};               //这是要排序的数组
                for(int i=0;i<list.length;i++){                    //这是一个for循环,i就是为了标记外层循环次数
                        for(int j=0;j<list.length-i-1;j++){      //j是为了标记内层循环,
                                if(list[j]<list[j+1]){                      //list.length-i-1,减一是因为j+1,如果不减会数组越界
                                        int temp=list[j];                  //temp 临时变量,为了实现交换值
                                        list[j]=list[j+1];
                                        list[j+1]=temp;
                                }
                        }
                }
                for(int i:list){
                        System.out.print(i+",");
                }
        }
}

理解一下冒泡排序的原理就好了
http://pan.baidu.com/s/1ntJm0fn
这是java的冒泡排序教程,原理不管什么语言的差不多,可以看看,千万别去背代码,没p用


评分

参与人数 1鱼币 +5 收起 理由
怀念部队 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-30 17:13:27 From FishC Mobile | 显示全部楼层
厉害厉害 佩服佩服
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-11 17:09:34 | 显示全部楼层
很容犯错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-20 11:44:07 | 显示全部楼层
人品木有,鱼币拿走
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-20 12:41:21 | 显示全部楼层
看看  顺便顶LZ
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-20 13:23:24 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-24 10:58:32 | 显示全部楼层
强烈支持楼主ing……强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-26 16:33:46 | 显示全部楼层
路过……:big
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-7 22:03:39 | 显示全部楼层
很容犯错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-30 09:06:02 | 显示全部楼层

前面的i-1个数已经排完了,
要排第i个数,
所以从第i个数开始,
依次与i后面的数比较,
所以j=i+1指向的就是i后面的数,
比较完之后将最大或者最小的值与第i个交换位置,
然后i=i+1,
重复上面的循环。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-2 21:21:06 | 显示全部楼层
鱼币鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-12 19:09:43 | 显示全部楼层
强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-13 08:03:31 | 显示全部楼层
支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-13 11:06:54 | 显示全部楼层
:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 05:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表