C-基础:冒泡排序
#include <fstream> #include <iostream.h> //--------------------------------------------------------------------------- main() { ofstream ofile("d:\\write.txt"); if(!ofile) return; ifstream ifile("d:\\read.txt"); if(!ifile) return; char a[20]; int i=0; while(!ifile.eof()) { ifile>>a[i]; if (a[i] == '\0') break; i++; } int tmp; int nfor1 =0; int nfor2 =0; for(int i =0;i<(int)strlen(a)-1;i++) //strlen返回size_t是unsigned int类型,强制转换,保持一致。//减1,是因为n个数字,会比较n-1次。 { for(int j=0;j<(int)strlen(a)-i-1;j++) { if(a[j]>a[j+1]) { tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } nfor2++; if(j == (int)strlen(a)-i-2) { ShowMessage(nfor2); //内层循环次数 nfor2=0; } } nfor1++; } ShowMessage(nfor1); //外层循环次数 for(int j=0;j<(int)strlen(a);j++) { ofile<<a[j]<<endl; } }