| 网站首页 | 文章 | 下载 | 图库 | 留言 | 论坛 | 邮箱 | 黑客商城 | 资源 | 博客 | 会员区 | 黑客动画 | 视频资源 | 经典收集 | 
免费服务 发表文章 在线破解 黑客游戏 精华收集 电影频道 音乐频道 二级域名 免费代理 免费 FTP 交换资源
收费服务 黑客培训 光盘刻录 黑客书籍 视频下载 主力频道 空间域名 网站建设 特色服务 解决方案 我要投诉
您现在的位置: 华夏黑客同盟 >> 经典收集 >> 程序设计 >> VC语言 >> 经典算法 >> 收集正文 用户登录 新用户注册
快速排序           ★★★★ 【字体:
快速排序
作者:程红秀 文章来源:vczx.com 点击数: 更新时间:2005-9-4

下载本文所附源代码


在快速排序对话框上放
20个编辑框 和几个按扭。 左边一列的编辑框依次是IDC_EDIT1IDC_EDIT10,选中第一个编辑框的Group属性。右边一列的编辑框依次是IDC_EDIT11IDC_EDIT20,选中IDC_EDIT11Group属性。

   

void CQuickSortDlg::OnButton2()     //随机生成10个数,显示在左边的编辑框中

{

       srand((unsigned)time(NULL));    //初始化随机函数发生器

       CString s;

       for(int i=0;i<10;i++)

       {           

              s.Format("%d",rand()%1000);

              SetDlgItemText(IDC_EDIT1+i , s) ; //将数字转为字符串后显示在编辑框

      }

              m_clear.EnableWindow(true);  //m_clear清空数据按扭所联系的变量

}

 

CQuickSortDlg添加快速排序函数:quick_sort()

void CQuickSortDlg::quick_sort(int x[], int low, int high)   //快速排序函数的实现过程

{

  int i=low,    j=high;    int t=x[low];  

  while (i  

  {

          while (it)     j--;        

          x[i]=x[j];  

          while (i    i++;

         x[j]=x[i];

          x[i] = t;    

         quick_sort(x,low,i-1); //递归调用此函数      

         quick_sort(x,i+1,high);     

  }

}

 

 

void CQuickSortDlg::OnSort()     //”快速排序按扭的消息处理函数  

{

       int x[10];            CString s;

       for(int i=0;i<10;i++)

       {    

              GetDlgItem(IDC_EDIT1+i)->GetWindowText(s);

              x[i+1]= atoi(s); //将编辑框中的字符转化为数字后对应的赋给包含10个元素的数组

       }

       quick_sort(x,1,10);  //调用快速排序函数,对数组的元素排序

       for(i=0;i<10;i++)

       {    

              s.Format("%d",x[i+1]);

              GetDlgItem(IDC_EDIT11+i)->SetWindowText(s);

       }                            //将排序后的数组元素赋给右边的编辑框

              m_clear.EnableWindow(TRUE);   //启用清空数据按扭

}

 

 

void CQuickSortDlg::OnClear()    //清空所有编辑框中的数字

{

       for(int i=0;i<10;i++)

       {           

              GetDlgItem(IDC_EDIT1+i)->SetWindowText("");

        //或者 GetDlgItemText(IDC_EDIT1+i, "");

              GetDlgItem(IDC_EDIT11+i)->SetWindowText("");

       }

              m_clear.EnableWindow(false);     

}

 
收集录入:华夏总编辑    责任编辑:华夏总编辑 
  • 上一篇收集:

  • 下一篇收集:
  • (只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
    最新热点资讯
    最新推荐资讯
    相关收集
  • 高质量C++/C编程指南 -- 类的继承…

  • makefile(5)

  • 高质量C++/C编程指南 --其它编程…

  • 高质量C++/C编程指南 -- 附录A :…

  • 高质量C++/C编程指南 -- 附录B :…

  • makefile(1)

  • makefile(2)

  • 高质量C++/C编程指南 -- 内存管理…

  • 高质量C++/C编程指南 -- 内存管理…

  • 高质量C++/C编程指南 --  内存管…

  • 最新推荐软件
    最新推荐视频
    最新推荐动画

    Copyright @ 2005 77169.Net Inc. All rights reserved. 华夏黑客同盟 版权所有
    北京市电信通提供网络带宽

    mailto:webmaster@77169.net
    咨询QQ号:836982 / 59280880
    联系站长 有事给站长留言!
    热线电话: 86-10-63643422/63643423
    京ICP证041431号