選擇排序:
思想:選擇排序的思想也非常簡單,就是從一堆數中選出最小值,然後和頂部元素互換,之後再用同樣的方法排序剩餘的數,最終得到排序的結果。**:
usingsystem;
using
system.collections.generic;
using
system.linq;
using
system.text;
using
system.diagnostics;
using
system.net;
using
system.threading;
namespace
console.writeline(
"\n第
" + i + "
次比較:");
stopwatch watch = new
stopwatch();
watch.start();
var result = list.orderby(single => single).tolist();//
這裡這個single=>single不懂
watch.stop();
console.writeline(
"" +watch.elapsedmilliseconds);
console.writeline(
"輸出前是十個數:
"+string.join("
,",result.take(10
).tolist()));
watch.start();
result =selectionsort(list);
watch.stop();
console.writeline(
"" +watch.elapsedmilliseconds);
console.writeline(
"輸出前是十個數:
" + string.join("
,", result.take(10
).tolist()));
}console.readline();
}//快速排序演算法
static list selectionsort(listlist)
int temp =list[i];
list[i] =list[tempindex];
list[tempindex] =temp;
}return
list;}}
}
總結:選擇排序也是比較容易理解的,非常直觀。但是效能不是很好。
排序演算法系列 選擇排序
選擇排序可以說是眾多排序演算法中,最基礎 最直觀的乙個演算法了。它的思想十分簡單 遍歷列表,找出最小的乙個數,記下索引 將最小的數新增到新的列表中,同時刪除原陣列中的數 重複第一步 舉個例子 假如現在有乙個無序陣列disorder arr 4,2,19,10,1 和乙個空陣列order arr 第一...
排序演算法系列之選擇排序 2
選擇排序原理 在長度為nd 陣列中,找到位置不適合的元素,直接放入最終合適的位置上,也就是依次在未排序陣列中找到最小元素,直到最後乙個元素位置 剩下的最後乙個元素n 2最大,無需操作 每輪從無序陣列中找到的最小資料,依次放入到從data 0 到data n 2 中 優點 賦值次數少 缺點 忽略了資料...
經典演算法系列之 選擇排序
1 前言 演算法,在計算機中的地位,就相當於人類大腦的決策中樞系統,哪怕最簡單的演算法,其精妙的思維方式,都可以讓人開啟一扇新的視窗。演算法,它不僅僅只是狹義的用來解決電腦科學領域的問題,更是一種 思維方式 演算法思維,是一種深度思考和創造的過程。演算法,只有真正理解了,而不只是所謂的知道,並將應用...