試題 演算法訓練 快速排序

2021-10-03 03:59:56 字數 873 閱讀 2180

題目描述

資源限制

時間限制:1.0s 記憶體限制:512.0mb

問題描述

快速排序是最經常使用的一種排序方式,對於給定的n個數組成的乙個陣列,請使用快速排序對其進行排序。

現給定一串行,請用快速排序將其按公升序排序並輸出。

輸入格式

第一行乙個數n。

第2~n+1行每行乙個數,表示給定序列。

輸出格式

共n行,每行乙個數,表示所求序列。

樣例輸入51

4234

樣例輸出12

344資料規模和約定

共10組資料。

對100%的資料,n<=10^5,所有數均為非負數且在int範圍內。

思路:

快速排序的思想。

ac**:

#include

#include

#include

#include

#include

#include

using

namespace std;

int a[

1000];

void

quick_sort

(int a,

int left,

int right)

//從右到左找到小於等於基準點的元素

while

(a[j]

>basic)

if(i<=j)}if

(j>left)

quick_sort

(a,left,j);if

(iquick_sort

(a,i,right);}

intmain()

演算法訓練營(一) 快速排序

usr bin python coding utf8 import random import time import copy testlist 6 1,2 7,9 3,4 5,10 8 testlist 6 1,2 7,9 3,4 5,10 8,2 11,8 1,13 2,6 1,8 0,4 2...

排序演算法 快速排序演算法

網際網路的大型公司還在火熱招聘中,參與了一次又一次的筆試,都不通過,我還是太菜!作為程式設計人員,需要邁過去 資料結構與演算法 這個坎,畢竟,筆試不會真的很虧,加油吧,少些水,多點實操。一 快速排序演算法思想 從一組資料中找出乙個基準值,一般是選擇中間值作為基準值,然後從左到右將值與基準值進行比較,...

演算法 排序演算法 快速排序

快速排序是對冒泡法排序的一種改進。快速排序演算法 的基本思想是 將所要進行排序的數分為左右兩個部分,其中一部分的所有資料都比另外一 部分的資料小,然後將所分得的兩部分資料進行同樣的劃分,重複執行以上的劃分操作,直 到所有要進行排序的資料變為有序為止。可能僅根據基本思想對快速排序的認識並不深,接下來以...