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