今天聊聊快速排序

2021-10-05 19:45:54 字數 1167 閱讀 6245

快速排序屬於交換排序 採 用分治法比氣泡排序時間複雜度低了一點,

快速排序的思想是 每一輪挑選乙個基準元素,並讓剩下的比他大的元素移動到一邊,比它小的元素移動到另一邊,把數列拆成兩個部分分而治之,在最終通過遞迴,使每個子串行只剩乙個元素,這時候就是已經排好序的

雙邊迴圈法:

**

#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 我喜歡咖啡,或者你也喜歡咖啡。我平均每兩個星期去一次星巴克 檢視選單 選擇咖啡 拿到咖啡 付錢。如果我三天之後再去星巴克,店員不知道我是誰,也不知道我什麼時候來過這裡,點過什麼咖啡。仍然是按照上面的流程喝咖啡。這種情況...

今天來聊聊事務傳播行為

俺是個粗人,那麼俺就用最白話的語言來說說俺心目中的事務傳播行為。事務這個我在此部落格的其他帖子中也有專門說過 通俗的理解就是,乙個需要做多件事的乙個任務。事務是具有原子性,同乙個事務中,所有的事情要麼都沒做,要麼都做完了。這樣說就應該理解了事務,那麼事務的傳播行為就可以很好理解了。用具體的業務場景,...