C 언어 는 거품 정렬 과 빠 른 정렬 시간 을 비교 합 니 다.

1228 단어 데이터 구조
무 작위 로 10000 개의 무 작위 수 를 생 성하 여 거품 정렬 과 빠 른 정렬 을 하고 시간 을 비교 합 니 다.
#include
#include
#include
void BubbleSort(int *a, int length) //  
{
	for (int i = 0; i < length - 1; i++)
	{
		for (int j = 0; j < length - i - 1; j++)
		{
			if (a[j] > a[j + 1])
			{
				int temp;
				temp = a[j];
				a[j] = a[j + 1];
				a[j + 1] = temp;
			}
		}
	}
}

void QuickSort(int *arr, int low, int high)  //  
{
	if (low < high)
	{
		int i = low;
		int j = high;
		int k = arr[low];
		while (i < j)
		{
			while (i < j && arr[j] >= k)     //           k  
			{
				j--;
			}

			if (i < j)
			{
				arr[i++] = arr[j];
			}

			while (i < j && arr[i] < k)      //             k  
			{
				i++;
			}

			if (i < j)
			{
				arr[j--] = arr[i];
			}
		}

		arr[i] = k;

		//     
		QuickSort(arr, low, i - 1);     //   k  
		QuickSort(arr, i + 1, high);    //   k  
	}
}


int main()
{
	int num[10000];

	for (int i = 0; i<10000; i++)
	{
		num[i] = rand() % 10000;
	}

	clock_t start = clock();
	BubbleSort(num, 10000);		//      
	clock_t end = clock();
	printf("          %d  ms.
", end - start);//

좋은 웹페이지 즐겨찾기