• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

快速排序

发布: 2007-7-01 20:40 | 作者: admin | 来源: | 查看: 19次 | 进入软件测试论坛讨论

领测软件测试网

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

   

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

         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);     

}


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网