排序的基本概念-以及最简单的排序-冒泡排序

//排序就是无序的数据按照有序的排列出来

介绍一种入门的排序冒泡排序

//因为比如是10个数我大方向只要排9次就好因为第10次一定已经排好

因为我排一次最后面的数是最大或者最小,所以我只要排到它当前位置的前一个就好所以for(int j = 0; j < MAX - i - 1; j++)

for(int i = 0; i < MAX - 1; i++)
	{
		for(int j = 0; j < MAX - i - 1; j++)
		{
			if(arr[j] > arr[j + 1])
			{
				int temp = arr[j + 1];
				arr[j + 1] = arr[j];
				arr[j] = temp;
			}
		}
	}

# include <stdio.h>
# include <stdlib.h>
# include <time.h>
# include <string.h>
# include <sys/timeb.h>

# define MAX 10000

int main(int argc, char *argv[])
{
	int arr[MAX];
	srand((unsigned int) time(NULL));
	for(int i = 0;  i < MAX; i++)
	{
		arr[i] = rand() % 100;
	}

	printf("排序前\n");
	/*
	for(int i = 0;  i < MAX; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");
	*/
	clock_t t_Start = clock();
	for(int i = 0; i < MAX - 1; i++)
	{
		for(int j = 0; j < MAX - i - 1; j++)
		{
			if(arr[j] > arr[j + 1])
			{
				int temp = arr[j + 1];
				arr[j + 1] = arr[j];
				arr[j] = temp;
			}
		}
	}
	clock_t  t_End = clock();
	/*
	for(int i = 0;  i < MAX; i++)
	{
		printf("%d ", arr[i]);
	}
	*/
	printf("冒泡排序%d个元素,所需时间%ld", MAX,  t_End - t_Start);
	printf("\n");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/i_o_fly/article/details/80046985