国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 会昌县| 河西区| 金华市| 环江| 阿拉尔市| 申扎县| 昆山市| 南丹县| 称多县| 木里| 沙坪坝区| 马关县| 潮安县| 新龙县| 屯留县| 大荔县| 荆州市| 鹿泉市| 揭西县| 奇台县| 德江县| 姜堰市| 蕉岭县| 喜德县| 庆城县| 茶陵县| 邛崃市| 绥阳县| 兴海县| 长寿区| 威海市| 广汉市| 铁力市| 巩留县| 淳安县| 康定县| 峡江县| 六枝特区| 兴业县| 武汉市| 武乡县|