A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小天 中级黑马   /  2013-7-25 12:28  /  1505 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小天 于 2013-7-25 20:13 编辑

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 冒泡排序new
{
    class Program
    {
        static void Main(string[] args)
        {
            //对数组int[] values={0,4,2,3,5,10,8}进行从大到小排序
            int[] values={0,4,2,3,10,9};
            for (int i = 0; i < values.Length - 1; i++)//i控制趟数
            {
                for (int j = 0; j < values.Length - 1 - i; j++)
                {//j控制比较的次数
                    int temp;
                    if (values[j] < values[j + 1])
                    {
                        temp = values[j];
                        values[j] = values[j + 1];
                        values[j + 1] = temp;
                    }
                }
            }
            for (int i = 0; i <= values.Length - 1; i++)
            {
                Console.WriteLine(values);
            }
            Console.ReadKey();
        }
    }
}
冒泡排序方法中的内层for循环,j的值应该执行一次外层的for循环后,就被初始化为0,但是测试的时候和预期的结果不一样,希望大家帮忙分析一下是什么原因

6 个回复

倒序浏览
自己先占个沙发
回复 使用道具 举报
不明白你的疑问,你写的冒泡是对的呀,从大到小排序

回复 使用道具 举报
本帖最后由 马晓凤 于 2013-7-25 13:39 编辑

j值执行一次外层循环,说明内循环结束,刚刚定义的int j就被释放了,
进入第二次外循环又重新定义了一个int j,每进入下一次外循环,内循环的j都是重新定义的
回复 使用道具 举报
彭家贰小姐 发表于 2013-7-25 13:10
不明白你的疑问,你写的冒泡是对的呀,从大到小排序

怎么样将这个帖子设为已解决?
回复 使用道具 举报
小天 发表于 2013-7-25 13:41
怎么样将这个帖子设为已解决?



回复 使用道具 举报
小天 中级黑马 2013-7-25 20:14:44
7#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马