Посчитать, за сколько времени проведется сортировка пузырьком - C (СИ)

Узнай цену своей работы

Формулировка задачи:

 #include<stdio.h>
 #include<stdlib.h>
 #include <time.h>
 const n=10000;
 int i,j1;
 int a[n];
 time_t start, end;
int main()
{
 printf("Matrix\n:");
 for (i=0;i<n;i++) {
 a[i]=-100+random(201);
 printf("%4d",a[i]);
 }
 printf("\n");
      start = time(NULL);
      for (i=0; i<n-1; i++)
   for (j1=i; j1<n ;j1++)
      if (a[i]>a[j1]) { int tmp=a[i]; a[i]=a[j1]; a[j1]=tmp; }
      end = time(NULL);
   printf("Time %f", difftime(end,start));
    printf("\n");
 
 return(0);
 }
Подскажите, что делаю не так? Нужно посчитать, за сколько времени проведется сортировка пузырьком. Начальный счетчик времени start (до сортировки), конечный end(после сортировки). Потом через difftime(end,start) считаем разницу между ними - это и есть время. Почему-то время получается равным 0 и так, и так. Размерность массива менять пробовал, не помогает. Кажется, что проблема в этом
start = time(NULL);
Но что тогда написать вместо нее, чтобы он сохранял первое значение времени и считал, сколько прошло до времени end?

Решение задачи: «Посчитать, за сколько времени проведется сортировка пузырьком»

textual
Листинг программы
difftime(end,start)/1000

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы