C++ソートアルゴリズムのバブルソート改善版

1197 ワード

// BuddySort.cpp :       "main"   。             。
//

#include "pch.h"
#include 
#include 
#include 

#define MAX 10000

long getSystemTime() {
	struct timeb tb;
	ftime(&tb);
	return tb.time * 1000 + tb.millitm;
}

//    
void swap(int *a, int *b) {
	int temp;
	temp = *a;
	*a = *b;
	*b = temp;

}

//    
void BubbleSort(int arr[], int len) {

	
	int flag = 0;
	for (int i = 0; i < len && flag == 0; i++)
	{
		flag = 1;
		for (int j = 0; j < len -1 ; j++)
		{
			if (arr[j+1]< arr[j])
			{
				swap(&arr[j + 1], &arr[j]);
				flag = 0;
			}
		}

	}


}


void PrintArray(int arr[],int len) {
	for (int  i = 0; i < len; i++)
	{
		printf("%d ",arr[i]);

	}
	printf("
"); } int main() { srand((unsigned int)time(NULL)); int data[MAX] = {0}; for (int i = 0; i < MAX; i++) { data[i] = rand() % MAX; } //PrintArray(data,MAX); long t_start = getSystemTime(); BubbleSort(data, MAX); long t_end = getSystemTime(); printf(" %d :%ld.",MAX,t_end -t_start); //PrintArray(data, MAX); system("pause"); return 0; }