求C或C++语言编写的快速排序法的小程序,详细要求看补充~

作者&投稿:哀之 (若有异议请与网页底部的电邮联系)
用MFC实现快速排序,即应用程序!用C++语言!~

你如果想看排序的具体过程,必须加延迟,不然就算写出来眼睛也跟不上

// 快速排序
// 使用递归调用来实现快速排序
// 10/21/2007
// Author: eman lee
/*Quick Sort */
#include

void quick_sort(int data[], int low, int high)
{
int i, j, pivot;
if (low < high)
{
pivot=data[low];
i=low;
j=high;

while(i<j)
{
while (i=pivot)
j--;
if(i<j)
data[i++]=data[j]; //将比枢轴记录小的记录移到低端

while (i<j && data[i]<=pivot)
i++;
if(i<j)
data[j--]=data[i]; //将比枢轴记录大的记录移到高端
}

data[i]=pivot; //枢轴记录移到最终位置

quick_sort(data,low,i-1);
quick_sort(data,i+1,high);
}
}

void main()
{
int i;
int data[9] = {54,38,96,23,15,72,60,45,83};
for(i=0;i<9;i++)
{
printf(" %d ",data[i]);
}
printf("
");
quick_sort(data, 0, 8);
for(i=0;i<9;i++)
{
printf(" %d ",data[i]);
}
}

#include "iostream.h"
void QuichSort( int a[], int low, int high)
{
int i,j;
int nTemp;
i = low;
j = high;
nTemp = a[low];
while( i<j)
{
while((i<j) && nTemp<a[j]) i++;
if( i<j)
{
a[j] = a[i];
j--;
}
}
a[i] = nTemp;

if(low<i-1) QuickSort( a, low-1, i-1);
if(j+1>high) QuichSort( a, j+1, high);
}

main()
{
int a[5];
cout<<“请输入5个数“<<endl;
for( int i=0;i<5;i++)
{
cin<<a[i];
}
QuickSort( a, 0,5);
for( i=0;i<5;i++)
{
cout<<a[i];
}
}


c语言编写三角形边长计算面积
c语言编写三角形边长计算面积如下:1、首先,我们需要定义三个变量a、b、c来存储三角形的三条边长。2、然后,使用scanf函数从用户输入中读取这三个边长的值。3、接下来,我们计算半周长p,它等于三条边长之和除以2。4、使用海伦公式,我们计算出三角形的面积area,即sqrt(p*(p-a)(p-b)(p-c))...

用C语言编写一个程序,从键盘上输入一个小写字母,将其本身及对应的大写字...
程序如下:include <stdio.h> int main(){ char ch;scanf("%c",&ch);printf("%c",ch-'a'+'A');return(0);} 示例一:include<stdio.h> int main(){ char ch;scanf("%c",&ch);printf("Letter %c converted into a letter %c!",ch,ch-32);\/\/大写字母ASCII码比小写字母小32 ...

用C语言编写:输入半径R,求圆的周长、面积和球的体积。
define PI 3.14 include<stdio.h> void main(void){ float r,l,s,v;printf("please input r\\nr=");scanf("%f",&r);l=2*PI*r;s=PI*r*r;v=4*PI*r*r\/3;printf("the result :");printf("\\nl=%f\\ns=%f\\nv=%f",l,s,v);getchar();} ...

用C语言编写一个输入身高(cm)输出身高英寸
include <stdio.h> int main(){ float height = 0;printf("请输入身高单位是厘米: \\n");scanf("%f", &height);printf("身高为 %f英寸 ", height\/2.54);return 0;}

怎样用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器?_百 ...
用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器的方法:1、打开visual C++ 6.0-文件-新建-文件-C++ Source File;2、输入预处理命令和主函数:include<stdio.h> \/*函数头:输入输出头文件*\/ void main()\/*空类型:主函数*\/ 3、定义变量:int a,b,d; \/*定义变量的数据类型为...

在VC 6.0用C或C++语言编写一个模拟图形时钟,
#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y) void init() \/*划时钟边框函数*\/ { int i,l,x1,x2,y1,y2; setbkcolor(1); circle(300,240,200); circle(300,240,205); circle(300,240,5); for(i=0;i<60;i++) \/*划钟点上短线*\/ { if(i%5==0) l=15; else...

用C语言编写一个通过键盘或文件输入学生信息,并将学生信息输出到文件...
关注 展开全部 ,发,消,息给,你,了 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 2条折叠回答 其他类似问题 2014-07-10 用C语言编写一个程序,将输入的学生信息从文件中读出,并按学号... 1 2017-07-18 用C语言文件输入和输出的知识编一个学生信息管理系统 2 2013-03-23 ...

C语言文件的编译与执行的四个阶段并分别描述
开发C程序有四个步骤:编辑、编译、连接和运行。任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。1、预处理:导入源程序并保存(C文件)。2、编译:将源程序转换为目标文件(Obj文件)。3、链接:将...

八个C语言项目毕业后从小白到大牛
适合人群: C语言的初学者,难度较小,不合适写在简历上。综合应用数组、指针,可以锻炼编程逻辑思维,积累代码量。 涉及技术:数组、指针、结构体、函数。 三、停车管理系统 难度系数: 代码量:800行 实现功能:停车、找车、缴费、离开、路线规划。 适合人群:有C语言和链表、栈、队列基础。 涉及技术:指针、数组、链表...

大学生几大编程语言你都会哪几种?
PVT HON广泛应用于:图形处理, 科学计算, WEB编程, 多媒体应用, 引擎开发; 尤其是在未来大热方向机器学习和人工智能上有非常大的潜力。 七OBJECT-C和SWIFT语言 D BJECT-C通常写作OBJECTIVE-C或者OBJ-C或o.是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面面向对象编程语言。o主要用子苹果软件的开发...

周村区18875241768: 求一个用C语言或C++编写的数据结构中的快速排序、、麻烦写出大概的设计过程,语句的含义、谢谢;啦!!! -
廖荆抗骨: #include#include#define SIZE 20 typedef struct{ int ele[SIZE]; int len; }Record; void InitRecord(Record *h,int *a){ int i=0; h->len=0; while(a[i]!=0){ h->ele[i+1]=a[i]; i++; h->len++; } } int QKPass(Record *r,int low,int high){ int i=low,j=high,x; x=r->ele[i]; ...

周村区18875241768: 用C语言编写一个快速排序算法 输入10个数 -
廖荆抗骨: 代码如下: #include <stdio.h> #define N 10 void quickSort(int *arr,int l,int r) {//此处编写代码实现快速排序 int i,j,x,temp; if(l<r) { i=l; j=r; x=arr[(l+r)/2]; //以中间元素为轴 while(1) { while(i<=r&&arr[i]<x)i++; while(j>=0&&arr[j]>x)j--; if(i>=j) //相遇则跳出 ...

周村区18875241768: 用C语言编程实现快速排序算法 -
廖荆抗骨: 给个快速排序你参考参考 /********************** 快速排序 **************************** 基本思想:在待排序的n个记录中任取一个记录(通常取第一个记录), 以该记录为基准,将当前的无序区划分为左右两个较小的无 序子区,使左边的记录均小于基...

周村区18875241768: C语言中的排序法 -
廖荆抗骨: c语言中排序法有选择法和冒泡法是最常见的. 1冒泡法对10个数排序 #include<stdio.h> void main () { int a[10]; int i,j,t; printf("please input 10 numbers:\n"); for(i=0;i<10;i++)scanf("%d",&a[i]); printf("\n"); for(j=0;j<9;j++) //进行9次循环,实...

周村区18875241768: 求快速排序法的C++代码 -
廖荆抗骨: void QuickSort(int *pData, int left, int right) { int i, j; int middle, iTemp; i = left; j = right; middle = pData[(left + right) / 2]; //求中间值 do { while ((pData[i]i++; while ((pData[j] > middle) && (j > left)) //从右扫描小于中值的数 j--; if (i{ //交换 iTemp = ...

周村区18875241768: 快速排序的C++代码 -
廖荆抗骨: #includeusing namespace std; void QuickSort(int *pData,int left,int right) { int i(left),j(right),middle(0),iTemp(0); //middle=pData[(left+right)/2];求中间值 middle=pData[(rand()%(right-left+1))+left]; //生成大于等于left小于等于right的随机数 do{ ...

周村区18875241768: 急!!!C++快速排序法的编码 -
廖荆抗骨: #include "stdafx.h"#include "iostream.h" void swap(int *a,int low,int high); void QuickSort(int *a,int st,int ed); void output(int *a,int low,int high); void swap(int *a,int low,int high) { int temp=a[low]; a[low]=a[high]; a[high]=temp; } void QuickSort(int *a...

周村区18875241768: C语言的快速排序的算法是什么啊? -
廖荆抗骨: 快速排序(Quicksort)是对冒泡排序的一种改进.由C. A. R. Hoare在1962年提出.它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数...

周村区18875241768: C语言排序的方法 -
廖荆抗骨: 现在流行的排序有:直接插入排序、冒泡排序、简单选择排序、希尔排序、快速排序、堆排序、归并排序、基数排序.对n个记录进行选择排序的方法是:通过n-i次关键字之间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)...

周村区18875241768: 快速排序c++代码 -
廖荆抗骨: #include "stdio.h"void QuickSort(int e[], int first, int end){ int i=first,j=end,temp=e[first]; while(i<...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网