排序演算法學習

2021-08-03 15:31:48 字數 2074 閱讀 3845

1.氣泡排序

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace 排序演算法練習

/// /// 從小排序

///

public override void minsort()}}

}public override void maxsort()}}

}public override void display()

",item);

}console.writeline("迴圈次數 counter = ", counter);}}

}

2.選擇排序

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace 排序演算法練習

public override void minsort()

}temp = temparray[i];

temparray[i] = temparray[minindex];

temparray[minindex] = temp;}}

public override void maxsort()

public override void display()

console.writeline("迴圈次數 counter " + counter);}}

}

3.快速排序

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace 排序演算法練習

public override void display()

", item);}}

public override void maxsort()

public override void minsort()

int number = 0;

#region 方案一

private int sortunit(int array, int left, int right)

//right==left,去乙個索引存放key

array[left] = key;//

number++;

console.writeline("第次排序", number);

foreach (int i in array)

\t", i);

}console.writeline();

return right;

}private void sort(int array, int left, int right)

#endregion

#region 方案2:方案1的簡化版

void sort2(int nums, int left, int right)

nums[i] = key;

if(i-1 > left)sort2(nums, left, i - 1);

if(j+1 < right)sort2(nums, j + 1, right);

}#region 方案3

void sort3(int nums, int left, int right)

if(i-1 > left) sort3(nums, left, i - 1);//計算左邊的數列

if(j+1 < right) sort3(nums,j+1,right);//計算右邊的數列}}

}

排序演算法學習

一直都想把排序和搜尋類的演算法總結一下,一直拖著沒寫,主要是太懶了,現在決定還是要再好好學習下這些基本的演算法。畢竟基礎真的是很重要。好了現在開始學習第乙個排序演算法 插入排序 我記得插入排序在我們以前的資料結構教程上是第乙個介紹的 插入排序 聽這個排序名字就是將乙個什麼數要插入到某個地方,不錯,他...

排序演算法學習

快速排序演算法 通過一趟排序將資料分成兩部分 其中一部分的資料要比 另外一部分小或大 利用遞迴進行 直至資料有序 演算法步驟 1.定義兩個指標分別指向低位和高位 2.將陣列第乙個元素作為基數 3.從後往前遍歷 high 直至找到第乙個小於key的值 4.從前往後遍歷 low 直至找到第乙個大於key...

排序演算法學習

include include include include include define n 10000500 long long beg int cnt,n void show time void swap int a,int b 稱這兩個函式為比較函式,函式名即相當於指標,將其寫入排序演算法...