快速排序屬於交換排序 採 用分治法比氣泡排序時間複雜度低了一點,
快速排序的思想是 每一輪挑選乙個基準元素,並讓剩下的比他大的元素移動到一邊,比它小的元素移動到另一邊,把數列拆成兩個部分分而治之,在最終通過遞迴,使每個子串行只剩乙個元素,這時候就是已經排好序的
雙邊迴圈法:
**
#include
using
namespace std;
//雙邊迴圈法
intpartition
(int a,
int start,
int end)
}//將pivot移動到中間
a[start]
=a[left]
;a[left]
=pivot;
return left;
}void
quick_sort
(int a,
int start,
int end)
intmain()
;quick_sort
(a,0,7
);for(
int i=
0;i<
8;i++
)return0;
}
單邊迴圈法
#include
using
namespace std;
//單邊迴圈法
intpartition
(int a,
int start,
int end)
}//將pivot移動到中間
a[start]
=a[mark]
;a[mark]
=pivot;
return mark;
}void
quick_sort
(int a,
int start,
int end)
intmain()
;quick_sort
(a,0,7
);for(
int i=
0;i<
8;i++
)return0;
}
單邊迴圈法相比,減少了一點繁瑣。以上是運用遞迴的方法實現的,也有非遞迴的方法,是基於棧實現的,在這裡我就不說了。 今天聊聊虛擬化
一 虛擬化含義 虛擬化,簡單的說就是在一台電腦上虛擬出多台電腦的過程,這些虛擬出現的裝置也就是我們所說的 虛擬機器 virtualmachine 虛擬機器其實是由幾個系統檔案所組成的,這些檔案大多用來虛擬實體組間或者配置資訊。虛擬化的過程都是通過乙個叫做虛擬化管理程式 以下簡稱hypervisor ...
今天咱們來聊聊cookie
例子就是我們日常生活中非常熟悉的星馬克喝咖啡 大意如下 簡單粗暴的翻譯,見諒 1 我喜歡咖啡,或者你也喜歡咖啡。我平均每兩個星期去一次星巴克 檢視選單 選擇咖啡 拿到咖啡 付錢。如果我三天之後再去星巴克,店員不知道我是誰,也不知道我什麼時候來過這裡,點過什麼咖啡。仍然是按照上面的流程喝咖啡。這種情況...
今天來聊聊事務傳播行為
俺是個粗人,那麼俺就用最白話的語言來說說俺心目中的事務傳播行為。事務這個我在此部落格的其他帖子中也有專門說過 通俗的理解就是,乙個需要做多件事的乙個任務。事務是具有原子性,同乙個事務中,所有的事情要麼都沒做,要麼都做完了。這樣說就應該理解了事務,那麼事務的傳播行為就可以很好理解了。用具體的業務場景,...