码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序 二分法查找

时间:2015-05-28 12:27:57      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

一、冒泡排序
趟数和次数:
每趟出来一个最小(最大)的数。
每次比较相邻的两个数,按要求交换位置。

 int[] a = new int[8] { 9, 21, 8, 13, 16, 22, 7, 6 };
            Console.WriteLine("************排序之前*************");
            for (int i = 0; i < a.Length; i++)
            {
                Console.Write(a[i] + "\t");
            }
            Console.WriteLine();
            //排序
            for (int i = 1; i<=a.Length-1; i++)   //趟数  n-1
            {
                for (int j = 1;j<=a.Length-i ; j++)  //每趟中比较的次数  n-i
                {
                    if (a[j - 1] > a[j])
                    {
                        int temp = a[j - 1];
                        a[j - 1] = a[j];
                        a[j] = temp;
                    }
                }
            }
            Console.WriteLine();
            Console.WriteLine("************排序之后*************");
            for (int i = 0; i < a.Length; i++)
            {
                Console.Write(a[i] + "\t");
            }
            Console.WriteLine();

二、二分查询
前提:数组必须是有序的。

            int[] a = new int[] { 22, 21, 16, 13, 9, 8, 7, 6 };

            //从键盘接收要查找的数。
            int find = Convert.ToInt32(Console.ReadLine());

            int maxsub, minsub, midsub;
            minsub = 0;
            maxsub = a.Length - 1;

            for (;maxsub >= minsub ; )
            {
                midsub = (maxsub + minsub) / 2; //求中间下标
                if (a[midsub] == find)  //看看找到了没有?
                {
                    Console.WriteLine("恭喜找到了,在第" + midsub + "个位置上");
                    break;
                }
                else //这次没找到
                {
                    if (a[midsub] > find)   //扔掉上半
                    {
                        minsub = midsub + 1; 
                    }
                    else    //扔掉下半
                    {
                        maxsub = midsub - 1;
                    }
                }
            }

 

冒泡排序 二分法查找

标签:

原文地址:http://www.cnblogs.com/languang/p/4535308.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!