1. 程式人生 > >C#練習—氣泡排序和選擇排序

C#練習—氣泡排序和選擇排序

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

namespace ConsoleApplication9
{
    class Program
    {
        static  void Main(string[] args)
        {
            Console.Write("氣泡排序");
            bomble();
            Console.Write("選擇排序");
            Select();
            Console.ReadLine();
        }
        public static void bomble()//氣泡排序
        {
            int[] a = { 12, 3, 5, 13, 11, 4 };
            for (int i = 0; i < a.Length-1 ; i++)
            {
                for (int j = 0; j < a.Length-1; j++)
                {
                    int temp = 0;
                    if (a[j] >a[j + 1])//氣泡排序就是相鄰倆個數之間的比較。的排後面。
                    {
                        temp = a[j+1];
                        a[j + 1] = a[j];
                        a[j] = temp;
                    }
                }
                
            }
            foreach(int  x in a)
            {
                Console.Write(x + " ");
            }
        }

        public static void Select()////選擇排序
        {
            int[] a = { 12, 3, 5, 13, 11, 4 };
            for (int i = 0; i < a.Length - 1; i++)
            {
                int temp = 0;
                int min = a[i];//設定一個數,預設為最小的數min,這裡我以i=0,a[0]開始
                int minindex = i;//下標為i;
                for (int j = i+1; j < a.Length ; j++)
                {
                    if (a[minindex] > a[j])//以預設最小的數逐一和她之後的數比較。
                    {
                        temp = a[i];
                        a[i]= a[j];
                        a[j]= temp;
                    }
                }

            }
            foreach (int x in a)
            {
                Console.Write(x + " ");
            }
        }
    }
}