黑马程序员技术交流社区

标题: 冒泡排序的疑问 [打印本页]

作者: 邢凯    时间: 2014-7-31 12:59
标题: 冒泡排序的疑问
本帖最后由 邢凯 于 2014-7-31 15:18 编辑

static void Main(string[] args)
        {
            int[] num = new int[6];
            {
                for (int i = 1; i <= 5; i++)
                {

                    Console.WriteLine("请输入第{0}个同学的分数", i);
                    num = int.Parse(Console.ReadLine());
                }
            }
        }

        #region 冒泡排序
        public static void Sort(int[] num)
        {
            int i, j;  // 循环变量
            int temp;  // 临时变量
            for (i = 0; i < num.Length - 1; i++)
            {
                for (j = 0; j < num.Length - 1 - i; j++)
                {
                    if (num[j] > num[j + 1])
                    {
                        // 交换元素
                        temp = num[j];
                        num[j] = num[j + 1];
                        num[j + 1] = temp;
                    }
                }
                for (i = 1; i < num.Length; i++)
                {
                    Console.WriteLine(num[1]);
                }

            }
            Console.ReadKey();

        }
        #endregion
        这个是我的代码,我想用户自己输入一个数组,然后进行冒泡排序,我不知道哪里出问题了,求大神,大哥大姐们指导指导啊

作者: 邢凯    时间: 2014-7-31 13:01
for (i = 1; i < num.Length; i++)
                {
                    Console.WriteLine(num[i]);
                }
  上面我写的这里 最后一个这里 有点写错
作者: 许庭洲    时间: 2014-7-31 13:37
//------------------------------------------------------------------------------------------------//
*/
void Bubble_Sort(SeqList<int> sqList)
{
       int tmp;
       for(int i=0;i<sqList.Last;++i)
       {
               for(int j=sqList.Last-1;j>=i;--j)
               {
                     if(sqList[j+1]<sqList[j])
                    {
                           tmp=sqList[j+1];
                           sqList[j+1] = sqList[j];
                           sqList[j] =tmp;
                   }
             }
      }
}

作者: liinss    时间: 2014-7-31 13:38
int[] num = new int[6];
for (int i = 1; i <= 5; i++)
一共for了5次循环,为啥要new6个数?

作者: 邢凯    时间: 2014-7-31 13:43
liinss 发表于 2014-7-31 13:38
int[] num = new int[6];
for (int i = 1; i

这个是一个小失误  :L
            int[] num = new int[5];
            {
                for (int i = 1; i <= 5; i++)
                {

                    Console.WriteLine("请输入第{0}个同学的分数", i);
                    num = int.Parse(Console.ReadLine());
                }
  是这样
作者: qsq0000hm    时间: 2014-7-31 13:44
            int[] num = new int[5];
            {
                for (int i = 0; i < 5; i++)
                {

                    Console.WriteLine("请输入第{0}个同学的分数", i+1);
                    num[i] = int.Parse(Console.ReadLine());
                }
            }
作者: 邢凯    时间: 2014-7-31 13:51
qsq0000hm 发表于 2014-7-31 13:44
int[] num = new int[5];
            {
                for (int i = 0; i < 5; i++)

我已经改成这样了,但是还是F5之后  就是提示我  输入这个FOR循环,输入完之后就没啦
现在代码是这样的

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

namespace 冒泡
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] num = new int[5];
            {
                for (int i = 0; i < 5; i++)
                {

                    Console.WriteLine("请输入第{0}个同学的分数", i+1);
                    num = int.Parse(Console.ReadLine());
                }
            }
           
        }

        #region 冒泡排序
        public static void Sort(int[] num)
        {
            int i, j;  // 循环变量
            int temp;  // 临时变量
            for (i = 0; i < num.Length - 1; i++)
            {
                for (j = 0; j < num.Length - 1 - i; j++)
                {
                    if (num[j] < num[j + 1])
                    {
                        // 交换元素
                        temp = num[j];
                        num[j] = num[j + 1];
                        num[j + 1] = temp;
                    }
                }
                for (i = 0; i < num.Length; i++)
                {
                    Console.WriteLine(num);
                }

            }
            Console.ReadKey();

        }
        #endregion
      
    }
}

作者: 邢凯    时间: 2014-7-31 13:57
我知道了,是我没调用这个方法。。。。我真是个小白:L:L:L:L
作者: 邢凯    时间: 2014-7-31 14:06
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 冒泡
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] num = new int[5];
            {
                for (int i = 0; i < 5; i++)
                {

                    Console.WriteLine("请输入第{0}个同学的分数", i+1);
                    num[i] = Convert.ToInt32(Console.ReadLine());
                }
            }
            Sort(num);
           
        }

        #region 冒泡排序
        public static void Sort(int[] num)
        {
            int i, j;  // 循环变量
            int temp;  // 临时变量
            for (i = 0; i < num.Length - 1; i++)
            {
                for (j = 0; j < num.Length - 1 - i; j++)
                {
                    if (num[j] <num[j + 1])
                    {
                        // 交换元素
                        temp = num[j];
                        num[j] = num[j + 1];
                        num[j + 1] = temp;
                    }
                }
               
            }
            Console.Clear();
            for (i = 0; i < num.Length; i++)
            {
                Console.WriteLine(num[i]);
            }

            Console.ReadKey();

        }
        #endregion
      
    }
}
这个是我最后改成了,运行没出错,但是各位大哥大姐,大神们,帮我看看还有没有小问题
作者: qsq0000hm    时间: 2014-7-31 14:36
邢凯 发表于 2014-7-31 14:06
using System;
using System.Collections.Generic;
using System.Linq;

既然将冒泡排序封装在一个方法里,方法里就不要输出了。至于是否输出应该写在主函数中,而不是方法中,方法中只要实现排序就可以了。
作者: rende1991    时间: 2014-7-31 14:37
路过  楼主 写代码一定要细心。
作者: 邢凯    时间: 2014-7-31 14:58
rende1991 发表于 2014-7-31 14:37
路过  楼主 写代码一定要细心。

谢谢,我下次会注意的,我想问下  为什么我的技术分一直都是1啊:'(
作者: 邢凯    时间: 2014-7-31 15:00
qsq0000hm 发表于 2014-7-31 14:36
既然将冒泡排序封装在一个方法里,方法里就不要输出了。至于是否输出应该写在主函数中,而不是方法中,方 ...

谢谢,这个是我大意了,下次一定会注意的
作者: 把握现在    时间: 2014-7-31 15:17
int[] num = new int[5];
这句代码后面的大括号是干什么用的?
作者: rende1991    时间: 2014-7-31 19:51
邢凯 发表于 2014-7-31 14:58
谢谢,我下次会注意的,我想问下  为什么我的技术分一直都是1啊

你问的问题  有人给你回复了后,你在在编辑那里设置提交结束,老师会给你打分的,还有你回答别人问的问题的时候,老师也会给你分的,黑马币也可以兑换的。
作者: czwanglei    时间: 2014-7-31 19:57
邢凯 发表于 2014-7-31 13:57
我知道了,是我没调用这个方法。。。。我真是个小白

没事,要有信心,写的多了就好了
作者: 这个夏天的芬芳    时间: 2014-7-31 20:37
{:3_50:}{:3_50:}{:3_50:}{:3_50:}{:3_50:}{:3_50:}
作者: 为爱编程    时间: 2014-7-31 20:56
哥们你写的是c语言的冒泡吗?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2