工控编程吧
标题:
上位机MFC生成随机数并快速排序算法源代码下载
[打印本页]
作者:
qq263946146
时间:
2019-10-13 20:21
标题:
上位机MFC生成随机数并快速排序算法源代码下载
(, 下载次数: 0)
上传
点击文件名下载附件
例程主要实现对数值的排序功能。
效果如上图,
运行例程,点击 随机生成,可以生成一些随机数,
点击 快速 排序,可以对生成数据进行排序。
关键代码如下。
////////////////////////生成10个随机数,显示在编辑框中//////////////
void CEeeDlg::OnButton2()
{
srand((unsigned)time(NULL));
CString s;
for(int i=0;i<10;i++)
{
s.Format("%d",rand()%1000);
GetDlgItem(IDC_EDIT16+i)->SetWindowText(s);
}
m_clear.EnableWindow(true);
}
复制代码
//////////////调用快速排序函数,对前10 个编辑框中的数字进行排序//////////////////
void CEeeDlg::OnSort()
{
int x[10];
CString s;
for(int i=0;i<10;i++)
{
GetDlgItem(IDC_EDIT16+i)->GetWindowText(s);
x[i+1]=atoi(s);
}
quick_sort(x,1,10);
for(i=0;i<10;i++)
{
s.Format("%d",x[i+1]);
GetDlgItem(IDC_EDIT26+i)->SetWindowText(s);
}
m_clear.EnableWindow(true);
}
/////////////////////////////////////快速排序函数的实现过程/////////////////
void CEeeDlg::quick_sort(int x[], int low, int high)
{
int i=low, j=high;
int t=x[low];
while (i<j)
{
while (i<j && x[j]>t)
j--;
x[i]=x[j];
while (i<j && x[i]<=t)
i++;
x[j]=x[i];
x[i] = t;
quick_sort(x,low,i-1); //递归调用此函数
quick_sort(x,i+1,high);
}
}
复制代码
源代码下载地址:
(, 下载次数: 0)
上传
点击文件名下载附件
[MFC408]1[/MFC408]
[halcon]1[/halcon]
[weixinlianxi]1[/weixinlianxi]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4