程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#完成冒泡排序算法的代碼示例

C#完成冒泡排序算法的代碼示例

編輯:C#入門知識

C#完成冒泡排序算法的代碼示例。本站提示廣大學習愛好者:(C#完成冒泡排序算法的代碼示例)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成冒泡排序算法的代碼示例正文


1、道理:從數組的第一個地位開端兩兩比擬array[index]和array[index+1],假如array[index]年夜於array[index+1]則交流array[index]和array[index+1]的地位,止到數組停止;
從數組的第一個地位開端,反復下面的舉措,止到數組長度減一個地位停止;
從數組的第一個地位開端,反復下面的舉措,止到數組長度減二個地位停止;
。。。。
2、時光龐雜度:O(N²),停止了(n-1)*(n-2)....=n*(n-1)/2次比擬和約比擬次數一半的交流次數(均況下),那末依據年夜O表現法時光龐雜度為O(N^2)
3、代碼示例:

using System;
namespace MySort
{
  //先樹立一個類,今後把一切排序辦法都放到這個類裡,
  public class SumSort
  {
    //冒泡排序辦法,從小到年夜排,固然許多冒泡排序都是從年夜到小,
    //可是我就想這麼排,你能怎樣著我。
    public void PopSort(int[] list)
    {
      int i, j, temp;  //先界說一下要用的變量
      for (i = 0; i < list.Length - 1; i++)
      {
        for (j = i + 1; j < list.Length; j++)
        {
          if (list[i] > list[j]) //假如第二個小於第一個數
          {
            //交流兩個數的地位,在這裡你也能夠零丁寫一個交流辦法,在此挪用就好了
            temp = list[i]; //把年夜的數放在一個暫時存儲地位
            list[i] = list[j]; //然後把小的數賦給前一個,包管每趟排序後面的最小
            list[j] = temp; //然後把暫時地位的誰人年夜數賦給後一個
          }
        }
      }
    }
  }
  public class test
  {
    //這裡給一組測試數據,打印輸入看看排序辦法的後果若何
    static void Main()
    {
      int[] arr = { 1, 4, 2, 43, 5, 61, 89, 34, 67, 32, 40 };
      //把數據排序類實例化一下,然後挪用辦法。
      //甚麼?還要實例,可我不想實例化怎樣辦?
      //那也沒有關系,把PopSort辦法前加一個static,直接挪用SumSort.PopSort(arr)就行了
      SumSort mysort = new SumSort();
      //來來來,年夜家按高矮排個隊,矮的排後面高的排前面
      mysort.PopSort(arr);
      //真聽話,看看年夜家都排第幾位了
      for (int i = 0; i < arr.Length; i++)
      {
        Console.Write("第{0}位是{1}\n", i + 1, arr[i]);
      }
      Console.WriteLine();
    }
  }
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved