用VC++类实现快速排序(并输出过程)

发布者:angelbaby最新更新时间:2015-05-26 来源: 51hei关键字:VC++  快速排序  输出过程 手机看文章 扫描二维码
随时随地手机看文章


&&&&&&&&&&&&&&&&&&&&&&&&&&&&主函数&&&&&&&&&&&&&&&&&&&&&&
#include
#include <stdlib.h>
#include
#include "WangQi.h"
using namespace std;
#define MAX 100
void main(){
SeqList L;
int num;
cout<<"请输入要排序的元素个数:"< cin>>num;
cout<<"请输入要排序的元素:"< for(int i=1;i<=num;i++)
cin>>L.r[i];
L.length=num;
//输出排序前的顺序表
L.output(&L,1,L.length,-1);
L.quicksort(&L,1,L.length);
L.output(&L,1,L.length,-2);
}
&&&&&&&&&&&&&&&&&&&含有类定义的头文件&&&&&&&&&&&&&&&&&&&&&&&&&
#include
using namespace std;
#define MAX 100
class SeqList{
public:
int r[MAX+1];
int length;

void output(SeqList *L,int low, int high,int pivotloc){
int i;

if(pivotloc==-1||pivotloc==-2){
  if(pivotloc==-1) 
       cout<<"初始状态:{"<<' ';
  else cout<<"排序结果:{"<<' ';
     for(i=low;i<=high;i++)
      cout<r[i]<<' ';
      cout<<"}";
      }else {
     cout<<"划分结果:{"<<' ';
   for(i=low;i       cout<r[i]<<' ';
      cout<<"}"<r[pivotloc]<<"{";
    for(i=pivotloc+1;i<=high;i++)
     cout<r[i]<<' ';
    cout<<"}";
 }
  cout<<' '< }


int partition(SeqList *L,int low,int high){
  int pivotkey;
  int temp1=low,temp2=high;
  L->r[0]=L->r[low];
  pivotkey=L->r[low];
  while (low      while (lowr[high]>=pivotkey)
     --high;
     L->r[low]=L->r[high];
    while(lowr[low]<=pivotkey)
    ++low;
    L->r[high]=L->r[low];
   }
    L->r[low]=L->r[0];
    output(L,temp1,temp2,low);
    return low;
    }


void quicksort(SeqList *L,int low,int high){
int pivotloc;
   if(low      pivotloc=partition(L,low,high);
    if(low      quicksort(L,low,pivotloc-1);
    if(high>pivotloc+1)
     quicksort(L,pivotloc+1,high);
}
};

关键字:VC++  快速排序  输出过程 引用地址:用VC++类实现快速排序(并输出过程)

上一篇:浅谈ARD3电动机保护器设计原理
下一篇:汇编:判断两个字符串是否相等(匹配)

推荐阅读最新更新时间:2024-03-16 14:03

μC/OS-II在TMS320VC5402处理器上的移植
   O 引言   TMS320VC5402处理器片内共有8条总线以及CPU、片内存储器和片外电路等硬件。该处理器具有低功耗、速度快,高度并行化等特点。   μC/OS-II是一种可移植、可固化、可剪裁及可剥夺型的多任务实时内核,适用于各种微处理器。μC/OS-II的源代码开放,所有代码均可采用ANSI的C语言编写,因而具有良好的可移植性,特别适用于对实时性要求较高的场合。   由于TMS320VC5402以及CCS编译器完全满足μC/OS-II的设计要求,因此,笔者在最小系统板上完成了对该实时内核的移植调试。    1 μC/OS-II在TMS320VC5402上的移植   图1所示是μC/OS-II的软硬件
[嵌入式]
踏访百家,VC眼中「汽车+互联网」的十大投资方向
    本文作者执一资本副总裁谢晨星,曾经的连续创业者,研究领域包括互联网金融、汽车、教育等多个行业,曾参与投资人人车、小马购车、美利金融等多个汽车及相关领域公司。     此文是谢晨星在一年的时间里,通过走访上百家创业公司,写下的一篇投资笔记,他认为的投资方向主要集中在电动汽车、智能驾驶、汽车+移动互联网、新车电商、二手车电商、汽车后服务、汽车金融、驾考培训、汽配B2B及连锁维修、车险十个方向。       汽车工业在全球已有上百年历史,中国的民用汽车工业伴随改革开放至今也有30多年历程。而自2009年国务院出台《汽车产业调整振兴规划》,将汽车行业首次列入国民经济重要支柱产业,又将该行业带入新一轮高速发展通道,当年销
[汽车电子]
TMS320VC5402在加速度式波浪传感器中的应用
   1 引言   海浪观测是海洋调查的一项重要内容,采用装有加速度式波浪传感器的波浪浮标是一种有效的海浪测量方式。当装有波浪传感器的浮标随波面起伏运动时,浮标内传感器输出反映波面升沉加速度变化的信号,对其进行二次积分处理,即可得到与波面起伏高度变化成比例的信号,再对此信号进行处理,得到波高及波周期数据。加速度信号积分采用模拟积分电路,也可采用数值积分方式。通常波浪周期为2~30 s,模拟积分电路采用积分电容值则较大,这使得传感器体积比较大,而且模拟线路易受外界温度、湿度等因素影响,不便于调试,而采用数值积分方式则能有效克服这些问题。   数值积分要进行大量乘加运算,DSP是一种适用于数字信号处理运算的微处理器,可用于实现各种
[嵌入式]
基于VC++雷达信号系统软件测试平台的设计
  随着电子计算机技术及电子设备的飞速发展,人们对数据的处理容量、处理速度以及工作平台的实时监控等性能的要求越来越高,从而使得高速、便捷、智能化的高性能数字处理设备成为当今电子设备的发展趋势。   由于一些气象雷达站一般地处环境与气候恶劣的偏远地区。雷达站内雷达信号处理系统的检测与维修存在一定的难度。当系统出现故障要进行检修时,由于地理环境的限制,检修在时间上会有一定的拖延,人们希望对于非硬件电路损坏的故障,能够通过软件平台进行监控,并通过软件来及时对系统进行维护与系统恢复。该软件设计的目的就是为了避开雷达系统存在着一定的机械性和不方便性的缺点来完善该雷达信号处理系统。该软件利用VC++的友好界面来实现PC机、DSP、 HSP
[嵌入式]
基于VC0701与红外技术的人体检测系统设计
  目前,大多数基于图像的安防设备都采用CCD或者CMOS传感器成像,后端DSP处理的模式,根据序列图像的差分运算进行人体检测。这种方法容易受到光线变化、树枝摆动、雨雪天气等外界因素的影响,经常产生虚警。为了消除上述干扰,需要特定的算法,从而增加了系统设计的复杂性。本文介绍了一种由红外传感器和CMOS摄像头实现的高性能、低成本的人体检测系统。此外,整个系统利用太阳能工作,还具有环保、节能的特点。 系统的工作原理   系统的结构如图1所示,当人体进入红外传感器的探测范围之后,红外传感器会发出一个高电平的报警信号,该信号经过红外信号处理器放大后送到CPLD中;CMOS成像芯片VC0701具有运动检测功能,在其视野范围之内,外部环境的
[传感技术]
STM32F107VC 锁相环初始化
AHB与APB的地位相当于PC中的南北桥,是两道独立的片内总线。 AHB:advanced high-performance bus;APB: advanced peripherals bus。 static void SetSysClockTo72(void) { __IO uint32_t StartUpCounter = 0, HSEStatus = 0; /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration --------------------------- SYSCLK 由PLL时钟,外部高速时钟,内部高速时钟获得,最大为72MHz HCLK
[单片机]
vc101数字万用表使用说明
一、vc101数字外型图 二、使用方法 (1)轻触power键,听到“嘀”声松开按键,此时lcd全显一次转为正常显示,观察显示器上是否有因符号出现,如有说明电池电压已经低于正常值,不确定度将会受到影响,此时应及时更换电池,有时电池电压过低不能开机。 (2)检查表笔是否接触良好,表笔探棒与电线连接部位绝缘是否良好,表笔插座及量程位置是否有误。 (3)本机有10分钟自动关机功能,使用中当量程改变或按键动作,自动关机顺延10分钟,关机前6秒有蜂鸣提示,电压量程输入超过2v和测频不会自动关机,轻触power键,超过2秒钟,听到“嘀”声松开按键即可关机(关机时不能按其它按键)。 2—1.电压/频率测量/火线判别(如下图所示) (1)
[测试测量]
<font color='red'>vc</font>101数字万用表使用说明
TMS320VC5410的McBSP串行接口技术与程序设计
    摘要: 介绍TMS320VC5410的多功能串行接口(McBSP),并结合McBSP与高精度,高速率串行数据转换器MAX5410之间的串行通信,从硬件和软件两个方面具体讨论McBSP的设计方法。     关键词: DSP McBSP SPI 模数转换器 一、DSP的串行接口技术 当今,嵌入式系统正迅速向低功耗、低成本、小体积、高性能、高速率方向发展。随着串行接口技术的不断成熟,逐步达到了以上设计要求,成为重要的接口方案。尤其在数字信号处理器方面,串行口的重要性体现得更加突出,几乎所有的数字信号处理器都提供了一个或多个串行接口,并且随着数字信号处理器的更新换代,其相应的串行接口,在功能上不断强化,
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved