标题:快速排序
只看楼主
冲的一锤
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-10-10
结帖率:50%
 问题点数:0 回复次数:1 
快速排序
程序代码:
#include <stdio.h>
#include <stdlib.h>


 void QkSort(int *arr,int left ,int right){
     


     if (right>left){
         return;
     }
      int temp = arr[left];
     int i = left;
     int j = right;
    
     
     while(i!=j){
         while (arr[j]>=temp&&j>i)
         {
             j--;
         }
         while (arr[i]<=temp&&j>i)
         {
             i++;
         }

         if(j>i){
             int t = arr[i];
             arr[i] = arr[j];
             arr[j] =t;
         }
         
     }
    
    arr[left] = arr[i];
    arr[i] = temp;

    QkSort(arr, left, i - 1);
    QkSort(arr, i + 1, right);

 }

        int main(){
            int arr[] = {1, 32, 4, 56, 77, 55, 34, 12, 56, 75};
            int len = sizeof(arr) / sizeof(int);
            for (int i=0; i <= len - 1;i++){

                printf("%d ", arr[i]);
            }

            QkSort(arr, 0, len - 1);
            printf("\n");
            for (int i = 0; i <= len - 1;i++){
                printf("%d ", arr[i]);
            }
            
        }
搜索更多相关主题的帖子: printf left 快速排序 int temp 
2021-10-17 17:08
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:0 
程序代码:
    if (right<=left){//if (right>left){
        return;
    }
2021-10-18 09:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507199-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.158143 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved