冒泡法将数组中的最大值进行沉淀:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
#define N 20
int a[N];
int i;
time_t ts;
int data = time(&ts);
srand(data);
for (i = 0; i < N; i++)
{
a[i] = rand()%500;
printf("a[%d] = %d\n",i, a[i]);
}
for (i = 0; i < N - 1; i++)
{
if (a[i] > a[i+1])
{
a[i] = a[i] ^ a[i+1];
a[i+1] = a[i] ^ a[i+1];
a[i] = a[i] ^ a[i+1];
}
}
printf("\n\n\n\n");
printf("%d",a[N-1]);
system("pause");
return 0;
}
冒泡法对数组进行排序,并且找到最大的值:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
#define N 20
int a[N];
int i;
int j;
time_t ts;
int data = time(&ts);
srand(data);
for (i = 0; i < N; i++)
{
a[i] = rand()%500;
printf("a[%d] = %d\n",i, a[i]);
}
//每次循环一次都有一个最大的数字沉底;
for (i = 0; i < N-1; i++)
{
for (j = 0; j < N-1-i; j++)
{
if (a[j] > a[j+1])
{
a[j] = a[j] ^ a[j+1];
a[j+1] = a[j] ^ a[j+1];
a[j] = a[j] ^ a[j+1];
}
}
}
printf("\n\n\n\n");
for (i = 0; i < N; i++)
{
printf("a[%d] = %d\n",i, a[i]);
}
system("pause");
return 0;
}
浙公网安备 33010602011771号