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

c# 排序

时间:2017-09-29 10:00:06      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:选择排序   cat   try   names   reg   print   generic   mat   eve   

using System;
using System.Collections.Generic;
using System.Linq.Expressions;

namespace ConsoleApplication
{
    struct Aaa
    {
        public int _red;
        public int _green;
        public int _blue;
    }

    internal class Program
    {
        public static void Main(string[] args)
        {
            var arr = new int[] {3, 4, 77, -1, 0, 9, 7, -999, 2, 4};
            Array.Reverse(arr);
//            Array.Sort(arr);
//            BubbleSort(arr);
            PrintArray(arr);
        }


        #region 工具方法
        /// <summary>
        /// 选择排序
        /// </summary>
        /// <param name="arr"></param>
        private static void Sort(int[] arr)
        {
            for (int i = 0; i < arr.Length - 1; i++)
            {
                for (int j = i + 1; j < arr.Length; j++)
                {
                    if (arr[i] > arr[j])
                    {
                        Swap(ref arr[i], ref arr[j]);
                    }
                }
            }
        }
        /// <summary>
        /// 冒泡排序
        /// </summary>
        /// <param name="arr"></param>
        private static void BubbleSort(int[] arr)
        {
            for (int i = 0; i < arr.Length - 1; i++)
            {
                for (int j = 0; j < arr.Length-1-i; j++)
                {
                    if (arr[j] > arr[j+1])
                    {
                        Swap(ref arr[j], ref arr[j+1]);
                    }
                }
            }
        }

        /// <summary>
        ///交换两个值
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <typeparam name="T"></typeparam>
        private static void Swap<T>(ref T a, ref T b)
        {
            T t = a;
            a = b;
            b = t;
        }

        private static void PrintArray<T>(T[] arr)
        {
            string str = typeof(T) + "[";
            if (arr.Length != 0)
            {
                for (var i = 0; i < arr.Length - 1; i++)
                {
                    str += arr[i] + ", ";
                }
                str += arr[arr.Length - 1];
            }

            str += "]";
            JPrint(str);
        }

        public static void JPrint(string obj, params object[] arg)
        {
            Console.WriteLine(obj, arg);
        }

        public static void JPrint(object obj)
        {
            Console.WriteLine(obj);
        }

        /// <summary>
        /// 获得一个int类型的值
        /// </summary>
        /// <returns></returns>
        public static int GetInt()
        {
            int i;
            while (true)
            {
                try
                {
                    i = Convert.ToInt32(Console.ReadLine());
                    break;
                }
                catch (FormatException e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            return i;
        }

        public static string GetString()
        {
            return Console.ReadLine();
        }

        public static double GetDouble()
        {
            double i;
            while (true)
            {
                try
                {
                    i = Convert.ToDouble(Console.ReadLine());
                    break;
                }
//            catch
                catch (FormatException e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            return i;
        }

        #endregion
    }
}

 

c# 排序

标签:选择排序   cat   try   names   reg   print   generic   mat   eve   

原文地址:http://www.cnblogs.com/zhaoxianglong1987/p/7609395.html

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