冒泡法将数组中的最大值进行沉淀:

 

 

#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;
}

  

posted on 2019-03-31 23:38  寒舟独饮  阅读(664)  评论(0)    收藏  举报