1. 程式人生 > >快速排序降序排序演算法

快速排序降序排序演算法

#include <stdio.h>
/*
快排降序排序 

*/

//引數 l為陣列的左下標,r為排序陣列的右下標,

void quick_sort(int a[],int l,int r)
{
int i=l,j=r;
int A=a[l];
while(i < j)
{
while(i < j && A > a[j])
{
j--;
}
if(i<j)
{
a[i++]=a[j];
}
while(i<j&&A<a[i])
{
i++;
}
if(i<j)
{
a[j--]=a[i];
}
}
a[i]=A;
if(l<i)
{
quick_sort(a,l,i-1);
}
if(r>i)
{
quick_sort(a,i+1,r);
}

}


int main()
{
int arry[10]={5,55,34,14,68,73,22,46,66,94};
int len=sizeof(arry)/sizeof(int);
int i;
quick_sort(arry,0,len-1);
for(i=0; i<len; ++i)
{
printf("%d ",arry[i]);
}

return 0;
}

相關推薦

快速排序排序演算法

#include <stdio.h>/*快排降序排序 *///引數 l為陣列的左下標,r為排序陣列的右下標,void quick_sort(int a[],int l,int r){int i=l,j=r;int A=a[l];while(i < j){wh

氣泡排序 排序(使用指標)

從鍵盤輸入10個數,用按降序排序並輸出。(使用指標實現氣泡排序) /* 時間: 題目:3.從鍵盤輸入10個數, 用按降序排序並輸出。(使用指標實現氣泡排序) 目的: */ #include <

Python list排序

doc -- pos light 參考 als sig pass 接收 test = [6,1,2,3,4,5] a = sorted(test,reverse=True) print a 結果如下: [6, 5, 4, 3, 2, 1] 你可以參考下sorted,裏面

R_Studio(關聯)使用apriori函式簡單檢視資料存在多少條關聯規則,並按支援度排序輸出

         檢視資料menu_orders.txt檔案存在多少條關聯規則,並按支援度降序排序輸出        #匯入arules包 install.packages("arules") library ( arules )

react-redux實現升序排序

action.js 下面程式碼中的patientList是一個數據陣列,比較patientList陣列中的sirenId,然後patientList這一行資料也排序 export function upSort(patientList) { return async dispa

Java中Arrays.sort()自定義陣列的升序和排序

Java學習中會遇到對陣列進行升序或者降序排序的問題 Java語言提供給我們Array.sort(int [] arr)對陣列進行升序排列 import java.util.Arrays; public class Test1 { public stat

python 多行排序,根據染色體號,位置資訊排序,升序排序

遇到一個問題是需要將檔案按照染色體編號和位置編號進行排序,在shell中我們可以使用sort -V -k2,3 annovar.xls這種方式來進行排序,而在python中如果想要進行多行排序,就需要sort的key引數指定的函式返回一個元組或者列表來進行排序。 現在我們有

1.傳入一個列表,列表中元素可能是任意型別 2.使用高階函式完成非字串元素的刪除 3.然後按照字串的長度進行排序 4.返回新的排序後的列表

def sort_list(lt): # 過濾不需要的元素,找出是字串型別的元素並將其轉化回列表 lt = list(filter(lambda x: type(x) == str, lt)) # 用key解決按長度排序的問題 lt.sort(ke

使用集合儲存員工物件,按照年齡排序,如果年齡相等按照薪資排序,如果薪資相等按照姓名的雜湊碼值排序

建一個員工類 繼承Comparaple  public class Employee implements Comparable<Employee> { private String name; private int age; private dou

根據物件中某一屬性進行升序排序的javascript實現

背景知識: sort() 方法用於對陣列的元素進行排序,並返回陣列。預設排序順序是根據字串Unicode碼點。 語法:arrayObject.sort(sortby);引數sortby可選。規定排序順序。必須是函式。 注:如果呼叫該方法時沒有使用引數,將按

C語言,有5名學生儲存在結構體陣列中,程式設計按學生的成績升序排序,按學生的姓名排序,按年齡從低到高排序

有5名學生儲存在結構體陣列中,程式設計按學生的成績升序排序,按學生的姓名降序排序,按年齡從低到高排序 //我把宣告檔案放在.h檔案中 //把函式實現部分放在.m檔案中 //最後的函式呼叫放在主函式ma

java list集合資料升序排序

1,Sting型別的List集合排序 List<String> list=new ArrayList<>();         list.add("易皇星");         list.add("阿弟");         list.add("冰球

有5名學生儲存在結構體陣列中,程式設計按學生的成績升序排序,按學生的姓名排序,按年齡從低到高排序, 成績, 年齡

typedefstruct stu {     char name[20];//儲存學生姓名     char sex;//儲存學生性別     int age;//儲存學生年齡     float score; }Stu;    Stu stu[5] = {      

Map按值的升序或排序最簡單的方法

使用jdk8的新特性private List<Map.Entry<String, Integer>> sortMap(Map<String, Integer> map, boolean asc) { Stream<Map.E

stream sorted進行排序

根據value值的大小進行降序排序,並進行擷取。 public static void main(String[] args) { List<Map<String, Object>> list = Lists.newArrayList();

函式指標作為函式引數,實現氣泡排序的升序排序排序

#include<stdio.h> #define N 10//定義陣列元素個數 int Ascending(int a,int b);//升序排列的函式宣告 int Descendin

Spark DataFrame按某列排序

前言 本文總結如何將DataFrame按某列降序排序,因為Spark預設的排序方式為升序,而降序的用法和java語言等又不一樣,所以需要特地總結記錄一下其用法。 1、建立測試用DataFrame val data = Array((7, 2,

統計資料庫表中關鍵詞出現的次數,按次數大小排序

在做搜尋時遇到一個搜尋提示的問題,我就想著記錄使用者輸入的關鍵詞,然後按出現次數最多的來推薦到搜尋列表展示給使用者。 SELECT COUNT(keyword),keyword FROM `desto

delphi DbGridEh資料進行升序排序

//傳入升序引數procedure TfmJcDjMxBase.mnuDxMainAscClick(Sender: TObject);begin  inherited;  GetMainDataSort('1') ;end;//傳入降序引數procedure TfmJcDjM

python對字典排序

def test2(): a = [['一','一','二'],['一','二','三']] for docno, document in enumerate(a): print docno,','.join(document) co