Еще раз здравствуйте, форумчане. Я хотел бы узнать, какой из алгоритмов сортировки быстрее. Сам я, к сожалению, еще работать со временем еще не научился, и поэтому не могу определить скорость выполнения операций. Интересует именно скорость выполнения функции
sort.
#include <iostream>
using namespace std;
void sort(int arr[], int L);
void swap(int *p_1, int *p_2);
int main() {
int i;
int arr[5]={1, 100, 3, 2, 6};
sort(arr, 5);
for (i=0; i<5; i++) {cout << i << " = " << arr[i] << endl;}
return 0;
}
void sort(int arr[], int L) {
if (L<2) {return;}
int i, k;
int current_n=arr[0];
for (i=1; i<L; i++) {
if (arr[i]<current_n) {
swap(&arr[i], &arr[i-1]);
for (k=i-1; k>0; k--) {
if (arr[k]<arr[k-1]) {
swap(&arr[k], &arr[k-1]);
} else {
break;
}
}
}
current_n=arr[i];
}
}
void swap(int *p_1, int *p_2) {
int tmp=*p_1;
*p_1=*p_2;
*p_2=tmp;
}
#include <iostream>
usingnamespace std;
void sort(int n);
int main() {
int a[10];
int i;
for (i=0; i<10; i++) {
cout << "Enter array element #" << i << ": ";
cin >> a[i];
}
sort(a, 10);
cout << "Here are all the array elements, sorted:" << endl;
for (i=0; i<10; i++) {
cout << a[i] << " ";
}
return 0;
}
void sort(int a[], int n) {
int i, j, low;
for (i=0; i<n-1; i++) {
low=i;
for (j=i+1; j<n; j++) {
if (a[j]<a[low]) {
low=j;
}
}
if (i!=low) {
swap(&a[i], &a[low]);
}
}
}
void swap(int *p1, int *p2) {
int temp=*p1;
*p1=*p2;
*p2=*temp;
}
Заранее благодарен.