本文的目的是了解C语言下的选择排序,并分别在C与MFC下实现选择排序。
下面是在MFC下的程序实现:
char tmp[10] = ""; int rand_num[10]; CString str[10]; CString result; CString sort_result; void CNM_MFCDlg::OnBnClickedOk() { CEdit* pBoxOne; pBoxOne= (CEdit*) GetDlgItem(IDC_EDIT1); srand((unsigned)time(NULL)); for(int x=0; x<10; x++) { rand_num[x] = rand()%100; str[x] = itoa(rand_num[x],tmp,10); result = result + str[x] + _T(" "); } pBoxOne-> SetWindowText( result ); //MessageBox(str,_T("程序运行结果"),MB_OK); result.ReleaseBuffer(); } void CNM_MFCDlg::OnBnClickedButton1() { CEdit* pBoxTwo; pBoxTwo = (CEdit*) GetDlgItem(IDC_EDIT2); selection_sort(rand_num,10); for(int x=0; x<10; x++) { str[x] = itoa(rand_num[x],tmp,10); sort_result = sort_result + str[x] + _T(" "); } sort_result = sort_result + _T("~ \r\n"); //UpdateData(false); pBoxTwo-> SetWindowText( sort_result ); sort_result.ReleaseBuffer(); } void CNM_MFCDlg::OnBnClickedCancel() { CDialogEx::OnCancel(); } void selection_sort(int *a,int n) { int i,j,s; for(i=0;i程序运行结果如下:
关于选择排序算法,其函数这样:
/* 使用选择排序法进行排序:从小到大; void selection_sort(int *a,int n) 参数:int *a:数组名 int n :排序元素数 */ void selection_sort(int *a,int n) { int i,j,s; for(i=0;i关于MFC下Edit Control的换行,可以用下面的方法:
sort_result = sort_result + _T("~ \r\n");除了使用 \r\n 之外,还要对 CEdit 的属性进行设置:
Auto HScroll 设置为 False, MultiLine 设置为 True,Want Return 设置为 True。
本文地址:http://www.nowamagic.net/librarys/veda/detail/380,欢迎访问原出处。