Advertisement
amarek

AISP - LV2

Nov 11th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.93 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5.  
  6. typedef struct linkedListElement {
  7.     int value;
  8.     struct linkedListElement *next;
  9. } Element;
  10.  
  11. void Random(int* A, int n) {
  12.  
  13.     srand((unsigned)time(NULL));
  14.     for (int i = 0; i < n; i++)  {
  15.  
  16.         int dg = 200;
  17.         int gg = 500;
  18.         A[i] = dg + (float)rand() / RAND_MAX * (gg - dg);
  19.     }
  20. }
  21.  
  22. Element *createLinkedList(int *A, int n) {
  23.     Element *head, *current;
  24.     head = (Element*)malloc(sizeof(Element));
  25.     current = head;
  26.     for (int i = 0; i < n - 1; i++)
  27.     {
  28.         current->next = (Element*)malloc(sizeof(Element));
  29.         current->value = A[i];
  30.         current = current->next;
  31.     }
  32.     current->value = A[n];
  33.     current->next = NULL;
  34.     return head;
  35. }
  36.  
  37. int sekvp_niza(int *v, int n, int x) {
  38.     for (int i = 0; i < n; i++) {
  39.         if (v[i] == x) {
  40.             return i;
  41.         }
  42.     }
  43.     return -1;
  44. }
  45.  
  46. int sekv_pret_liste(Element *v, int x)
  47. {
  48.     Element *current;
  49.     current = v;
  50.     int i = 0;
  51.     while (current != NULL){
  52.         if (current->value == x)
  53.             return i;
  54.         current = current->next;
  55.         i++;
  56.     };
  57.     return -1;
  58. }
  59.  
  60. int main() {
  61.     int *A;
  62.     int n;
  63.     printf("Unesi zeljeni broj elemenata:\n");
  64.     scanf("%d", &n);
  65.     Element *linkedList;
  66.     time_t t1, t2, t3, t4, t5, t6;
  67.     t1 = clock();
  68.     A = (int*)malloc(n * sizeof(int));
  69.     Random(A, n);
  70.     t2 = clock();
  71.     linkedList = createLinkedList(A, n);
  72.     t3 = clock();
  73.     printf("Vrijeme za kreiranje niza : %dms\n", t2 - t1);
  74.     printf("Vrijeme za kreiranje popisa : %dms\n", t3 - t2);
  75.     t4 = clock();
  76.     int sekv = sekvp_niza(A, n, 2);
  77.     t5 = clock();
  78.     int lista = sekv_pret_liste(linkedList, 2);
  79.     t6 = clock();
  80.     printf("Vrijeme pretrazivanja niza : %dms\n", t5 - t4);
  81.     printf("Vrijeme pretrazivanja liste : %dms\n", t6 - t5);
  82.  
  83.     return 0;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement