关于指针的经典例题

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 }
原文地址:https://www.cnblogs.com/shajianheng/p/2816331.html