国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

簡單算法———快速排序

2019-11-11 04:27:44
字體:
來源:轉載
供稿:網友
#include <stdio.h>#include <stdlib.h>void QuickSort(int *a ,int left , int right){    ///如果左邊索引大于或者等于右邊的索引就代表已經整理完成一個組了    ///遞歸結束條件   if(left >= right)   {       return;   }   int i = left;   int j = right;   int key = a[left];   while(i<j)   {       while(i<j && key <= a[j])       {           j--;       }       a[i]=a[j];       /*找到一個這樣的數后就把它賦給前面的被拿走的i的值(如果第一次循環且key是       ///a[left],那么就是給key)*/       while(i < j && key >= a[i])        /*這是i在當組內向前尋找,同上,不過注意與key的大小關系停止循環和上面相反,        因為排序思想是把數往兩邊扔,所以左右兩邊的數大小與key的關系相反*/       {          i++;       }       a[j] = a[i];   }   a[i] = key;/*當在當組內找完一遍以后就把中間數key回歸*/   QuickSort(a, left, i - 1);/*最后用同樣的方式對分出來的左邊的小組進行同上的做法*/   QuickSort(a, i + 1, right);/*用同樣的方式對分出來的右邊的小組進行同上的做法*/                             /*當然最后可能會出現很多分左右,直到每一組的i = j 為止*/}int main(){    int i;    int num[]={9,8,5,84,23,1,585,2,1,0};    QuickSort(num,0,sizeof(num)/sizeof(int)-1);    for(i=0;i<sizeof(num)/sizeof(int);i++)    {        PRintf("%d ",num[i]);    }    printf("/nok/n");    return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资中县| 稻城县| 渝北区| 漠河县| 宽甸| 普安县| 广灵县| 昆明市| 治多县| 绥化市| 凤城市| 临猗县| 永康市| 抚远县| 剑河县| 云霄县| 巴中市| 大名县| 宝应县| 越西县| 微博| 泰兴市| 福清市| 南充市| 内江市| 平原县| 平度市| 河南省| 合肥市| 霍林郭勒市| 登封市| 封开县| 彰武县| 田林县| 泗洪县| 无为县| 茶陵县| 来凤县| 夏津县| 凉山| 梁河县|