ertugrul5461
Öğrenci
- Katılım
- 30 Nisan 2022
- Mesajlar
- 1
- Reaksiyon puanı
- 0
- Puanları
- 1
- Yaş
- 23
Kodda görüldüğü üzere 4 adet sıralama algoritmasının çalışma zamanını ölçen bir program yaptım. Program 100000 e kadar doğru bir şekilde çalışıyor fakat 103-104 binden sonra hiç sonuç vermiyor.1 milyona kadar test etmem gerekiyor.Sebebi nedir?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
//#define dizi 100000
float frand() {
return (float) rand() / RAND_MAX;
}
void bubble_sort(int c[],int size)
{
int i,j,t;
for(i=size-2;i>=0;i--)
{
for(j=0;j<=i;j++)
{
if(c[j]>c[j+1])
{
t=c[j];
c[j]=c[j+1];
c[j+1]=t;
}
}
}
}
void insertion_sort(int *p, int size)
{
int i,j,t;
for (i = 0; ++i < size; ) {
t = p;
for (j = i; p[j - 1] > t; ) {
p[j] = p[j - 1];
if (--j <= 0)
break;
}
p[j] = t;
}
}
void shellSort(int s[], int size)
{
int i, j, increment, temp;
increment = 3;
while (increment > 0)
{
for (i=0; i < size; i++)
{
j = i;
temp = s;
while ((j >= increment) && (s[j-increment] > temp))
{
s[j] = s[j - increment];
j = j - increment;
}
s[j] = temp;
}
if (increment/2 != 0)
increment = increment/2;
else if (increment == 1)
increment = 0;
else
increment = 1;
}
}
void heap_sort (int *p, int size)
{
int left, right, temp;
if (size <= 1)
return;
left = size / 2;
right = size - 1;
while (--left >= 0)
sift(p, left, right);
for (;
{
temp = p[0];
p[0] = p
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
//#define dizi 100000
float frand() {
return (float) rand() / RAND_MAX;
}
void bubble_sort(int c[],int size)
{
int i,j,t;
for(i=size-2;i>=0;i--)
{
for(j=0;j<=i;j++)
{
if(c[j]>c[j+1])
{
t=c[j];
c[j]=c[j+1];
c[j+1]=t;
}
}
}
}
void insertion_sort(int *p, int size)
{
int i,j,t;
for (i = 0; ++i < size; ) {
t = p;
for (j = i; p[j - 1] > t; ) {
p[j] = p[j - 1];
if (--j <= 0)
break;
}
p[j] = t;
}
}
void shellSort(int s[], int size)
{
int i, j, increment, temp;
increment = 3;
while (increment > 0)
{
for (i=0; i < size; i++)
{
j = i;
temp = s;
while ((j >= increment) && (s[j-increment] > temp))
{
s[j] = s[j - increment];
j = j - increment;
}
s[j] = temp;
}
if (increment/2 != 0)
increment = increment/2;
else if (increment == 1)
increment = 0;
else
increment = 1;
}
}
void heap_sort (int *p, int size)
{
int left, right, temp;
if (size <= 1)
return;
left = size / 2;
right = size - 1;
while (--left >= 0)
sift(p, left, right);
for (;

temp = p[0];
p[0] = p
;
p
p
= temp;
if (--right <= 0)
break;
sift(p, 0, right);
}
}
void sift(int *p, int left, int right)
{
int temp, i;
i = left +left +1;
temp = p
if (--right <= 0)
break;
sift(p, 0, right);
}
}
void sift(int *p, int left, int right)
{
int temp, i;
i = left +left +1;
temp = p
;
do {
if (i < right && p < p[i+1])
i++;
if (temp >= p)
break;
p
do {
if (i < right && p < p[i+1])
i++;
if (temp >= p)
break;
p
= p;
left = i;
i = 2 * i + 1;
} while (i <= right);
p
left = i;
i = 2 * i + 1;
} while (i <= right);
p
= temp;
}
int main() {
int dizi=100000;
clock_t start, stop;
double duration;
int i,j;
int a[dizi],b[dizi],c[dizi],d[dizi],e[dizi];
srand(time(NULL));
for ( i=0 ; i<dizi ; i++ )
{
a=rand();
b=a;
c=a;
d=a;
e=a;
}
start = clock();
heap_sort(e,dizi);
stop = clock();
duration = (double)(1000 * (stop-start)/CLOCKS_PER_SEC);
printf("Heap Sort ile %d Eleman %f milisaniyede siralandi\n",dizi,duration);
start = clock();
insertion_sort(b, dizi);
stop = clock();
duration = (double)(1000 * (stop-start)/CLOCKS_PER_SEC);
printf("Insertion Sort ile %d Eleman %f milisaniyede siralandi\n",dizi,duration);
start = clock();
bubble_sort(c, dizi);
stop = clock();
duration = (double)(1000 * (stop-start)/CLK_TCK);
printf("Bubble Sort ile %d Eleman %f milisaniyede siralandi\n",dizi,duration);
start = clock();
shellSort(d, dizi);
stop = clock();
duration = (double)(1000 * (stop-start)/CLK_TCK);
printf("Shell Sort ile %d Eleman %f milisaniyede siralandi\n",dizi,duration);
getch();
return 0;
}
}
int main() {
int dizi=100000;
clock_t start, stop;
double duration;
int i,j;
int a[dizi],b[dizi],c[dizi],d[dizi],e[dizi];
srand(time(NULL));
for ( i=0 ; i<dizi ; i++ )
{
a=rand();
b=a;
c=a;
d=a;
e=a;
}
start = clock();
heap_sort(e,dizi);
stop = clock();
duration = (double)(1000 * (stop-start)/CLOCKS_PER_SEC);
printf("Heap Sort ile %d Eleman %f milisaniyede siralandi\n",dizi,duration);
start = clock();
insertion_sort(b, dizi);
stop = clock();
duration = (double)(1000 * (stop-start)/CLOCKS_PER_SEC);
printf("Insertion Sort ile %d Eleman %f milisaniyede siralandi\n",dizi,duration);
start = clock();
bubble_sort(c, dizi);
stop = clock();
duration = (double)(1000 * (stop-start)/CLK_TCK);
printf("Bubble Sort ile %d Eleman %f milisaniyede siralandi\n",dizi,duration);
start = clock();
shellSort(d, dizi);
stop = clock();
duration = (double)(1000 * (stop-start)/CLK_TCK);
printf("Shell Sort ile %d Eleman %f milisaniyede siralandi\n",dizi,duration);
getch();
return 0;
}