蔡子经数据结构3.4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34



#define MAXN 100
int a[MAXN] = {1,4,7,8,5,2,3,6,9,0};
int n;

void (int *x, int *y)
{
int t = *x;
*x = *y;
*y = t;
}

int main()
{
n = 10;
int num = n;
while(num > 0)
{
for(int i = 0; i < num-1; ++i)
if(a[i] > a[i+1])
swap(&a[i], &a[i+1]);

for(int i = num-1; i > 0; --i)
if(a[i] < a[i-1])
swap(&a[i], &a[i-1]);
--num;
}

for(int i = 0; i < n; ++i)
printf("%dn",a[i]);
return 0;
}