#include <iostream> using namespace std; #include <time.h> #include <tchar.h> //bubble sort //例如10个数进行冒泡排序,则需要9趟冒泡(外循环),然后每趟逐渐比较9,8,7,6,5,4,3,2,1次(内循环),所以j=10-i //每趟都是从头开始比较,所以比较的两个元素只是与j有关 void BubbleSort(int target[],int num) { //跑num-1趟 for (int i=0; i<num-1; i++) { //在第i趟时,比较(num-1)-i次 for (int j=0; j<(num-1)-i; j++) { if (target[j] > target[j+1]) { int t=target[j]; target[j]=target[j+1]; target[j+1]=t; } } } } //产生随机数 int Randssd(int cap=0, int floor=100) //指定上下限 { int temp=-1; if (floor>=cap) { temp = ( rand()%(floor-cap) ) + cap; } else { cout << _T("输出有误"); } return temp; } int main() { //设置随机种子 //不设置的话总是第一次的数字 srand(time(NULL)); int iarray[100]; for (int i=0;i<100;i++) { iarray[i] = Randssd(); } for (i=0;i<100;i++) { cout << iarray[i] << " "; } BubbleSort(iarray,100); cout << "/n/n"; for (i=0;i<100;i++) { cout << iarray[i] << " "; } return 0; }