1.用new和delete的动态内存分配方法,实现对任意数目的整数进行排序。
View Code
1 #include <stdlib.h> 2 #include <iostream.h> 3 4 void sortArray( int [], int); 5 6 int main() 7 { 8 int * a; 9 int i, num; 10 11 // 输入要排序的整数的数目 12 cout << "Please enter the number of integers: "; 13 cin >> num; 14 15 // 动态分配数组,以保存输入的整数 16 a = new int[num]; 17 18 if (a == NULL) 19 { 20 cout << "Memory allocating error! Exit." << endl; 21 return 0; 22 } 23 24 // 输入拟排序的整数 25 for (i = 0; i < num; i ++ ) 26 cin >> a[i]; 27 28 // 调用函数sortArray对a进行排序 29 sortArray(a, num); 30 31 // 输出a排序后的结果 32 cout << "After sorting:" << endl; 33 for (i = 0; i < num; i ++ ) 34 cout << a[i] << " "; 35 cout << endl; 36 37 // 释放动态分配的空间 38 delete [] a; 39 40 return 0; 41 42 } 43 44 void sortArray( int b[], int len) 45 { 46 for (int j = 0; j < len - 1; j ++ ) // 扫描一遍 47 for ( int i = j + 1; i <= len - 1; i ++ ) 48 if ( b[ j ] > b[ i ] ) 49 { 50 int temp; 51 // 交换 52 temp = b[ j ]; 53 b[ j ] = b[ i ]; 54 b[ i ] = temp; 55 } 56 }