快速排序程序

原创 2007年09月24日 13:28:00
#include <stdio.h>
/*
功能:快速排序
start表示起始位置指针,len表示要排序的长度
无返回值
*/
void qiuck_sort(int *start,int len)
{
    int k;//用作记录枢轴记录关键字
    int *p1,*p2,*pkey;//p1,p2分别表示高位和低位的指针,pkey枢轴记录关键字指针
    if(len<=1)//1位不必排序
    {
        return;
    }
    pkey=start;//把第一为
    k=*start;//记录枢轴记录关键字
    p1=start;
    p2=start+len-1;
    while(p1<p2)
    {
        while(*p2>=k&&p1<p2)p2--;
        *pkey=*p2;
        pkey=p2;
        while(*p1<=k&&p1<p2)p1++;
        *pkey=*p1;
        pkey=p1;
    }
    *p1=k;//填入枢轴记录
    //分治为两部分递归
    qiuck_sort(start,p1-start);
    qiuck_sort(p1+1,start+len-p1-1);
}

一个快速排序程序

很讨厌不少教材上排序时两边向中间的扫描的方法,感觉很麻烦。看见《算法导论》上是单向扫描的...
  • u011714944
  • u011714944
  • 2014年05月18日 20:00
  • 374

快速排序的C语言实现【严蔚敏--数据结构】

#define Quick_Sort #ifdef Quick_Sort int partition(int pArr[],int low,int high) { int pivot = pA...
  • yuanfen5200
  • yuanfen5200
  • 2015年05月19日 22:55
  • 375

快速排序程序(windows vs)

// Sort_and_Count.cpp : 定义控制台应用程序的入口点。 // #pragma once #include "stdafx.h" #include #include #inc...
  • zhangjcsd
  • zhangjcsd
  • 2014年11月02日 21:57
  • 149

快速和选择排序程序示例

快速排序程序(转的)示例:#include #include int get_middle(int array[], int start, int end) { int front = 0; in...
  • humanspider1
  • humanspider1
  • 2012年09月18日 10:35
  • 236

快速排序程序及易错点总结

void quicksort(vector &nums, int left, int right){ //一定不要忘了,递归算法,一开始一定是判断退出条件 if (left >= ri...
  • haolexiao
  • haolexiao
  • 2017年02月09日 21:07
  • 430

快速排序Quicksort(附快速排序程序)

快速排序Quicksort 快速排序是一种最坏时间复杂度为n²的排序算法,但因平均性能非常好(期望时间复杂度为n lg n)而成为实际排序应用中最好的选择 快速排序的一趟程序将要排序的数据分割成独立的...
  • sprinting_victor
  • sprinting_victor
  • 2017年05月05日 20:16
  • 87

随便写了个快速排序程序

#include using namespace std; int InsertSort(int num[],int low,int high) { int piov = 0; num[piov...
  • u010481185
  • u010481185
  • 2014年01月08日 08:35
  • 9421

排序程序

#include #include #include using namespace std; //冒泡排序,排序不超过100个数字,升序,冒泡排序复杂度O(n^2) bool cmp(int a, ...
  • fenfenmiao
  • fenfenmiao
  • 2016年09月19日 10:26
  • 104

练习5-14 修改排序程序,使它能处理-r标记。该标记表明,以逆序(递减)方式排序,要保证-r和-n能够组合在一起使用

测试答案是否会陷入无限循环:#include main() { int c; char *p[2]={"abc","def"}; while(c=*++p[0]) ...
  • Civil_CHOW
  • Civil_CHOW
  • 2016年07月16日 20:27
  • 499

linux c 实现 快速排序

linux c 实现 快速排序
  • jackeagle1
  • jackeagle1
  • 2015年05月21日 19:28
  • 240
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:快速排序程序
举报原因:
原因补充:

(最多只允许输入30个字)