Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define _CRT_SECURE_NO_WARNINGS
- #define randnum(min, max) \
- ((rand() % (int)(((max) + 1) - (min))) + (min))
- typedef struct PovezanaLista {
- int x;
- struct PovezanaLista *sljedeci;
- }PL;
- void unosNiza(int *V, int n) {
- for (int i = 0; i < n; i++) {
- V[i] = randnum(0, 500);
- //printf("%d ", V[i]);
- }
- }
- PL *stvoriListu(int *V, int n) {
- PL *glava, *P;
- for (int i = 0; i < n; i++) {
- if (i == 0) {
- glava = (PL *)malloc(sizeof(PL));
- P = glava;
- }
- else {
- P->sljedeci = (PL *)malloc(sizeof(PL));
- P = P->sljedeci;
- }
- P->x = V[i];
- }
- P->sljedeci = NULL;
- return glava;
- }
- int SekvencijalnoPretrazivanjeNiz(int *V, int n, int x) {
- for (int i = 0; i < n; i++) {
- if (V[i] == x) return i;
- }
- return -1;
- }
- int SekvencijalnoPretrazivanjeLista(PL *glava, int n, int x) {
- PL *prvi = glava;
- while (prvi != NULL) {
- if (prvi->x == x) return 1;
- prvi = prvi->sljedeci;
- }
- return -1;
- }
- int main() {
- int *V = NULL, n;
- PL *lista = NULL;
- time_t t1, t2;
- printf("Unesite broj elemenata niza:\n");
- scanf("%d", &n);
- V = (int *)malloc(n * sizeof(int));
- t1 = clock();
- unosNiza(V, n);
- t2 = clock();
- printf("Vrijeme unosa u niz iznosi %dms. \n", t2 - t1);
- t1 = clock();
- lista = stvoriListu(V, n);
- t2 = clock();
- printf("Vrijeme unosa u listu iznosi %dms. \n", t2 - t1);
- t1 = clock();
- if (SekvencijalnoPretrazivanjeNiz(V, n, 800) == -1) printf("Nema trazenog elementa u nizu.\n");
- t2 = clock();
- printf("Vrijeme sekvencijalnog pretrazivanja niza iznosi %dms. \n", t2 - t1);
- t1 = clock();
- if(SekvencijalnoPretrazivanjeLista(lista, n, 800) == -1) printf("Nema trazenog elementa u listi.\n");
- t2 = clock();
- printf("Vrijeme sekvencijalnog pretrazivanja liste iznosi %dms. \n", t2 - t1);
- printf("Velicina strukture iznosi %d", sizeof(PL));
- }
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define _CRT_SECURE_NO_WARNINGS
- #define randnum(min, max) \
- ((rand() % (int)(((max) + 1) - (min))) + (min))
- typedef struct PovezanaLista {
- int x;
- struct PovezanaLista *sljedeci;
- }PL;
- void unosNiza(int *V, int n) {
- for (int i = 0; i < n; i++) {
- V[i] = randnum(0, 500);
- //printf("%d ", V[i]);
- }
- }
- PL *stvoriListu(int *V, int n) {
- PL *glava, *P;
- for (int i = 0; i < n; i++) {
- if (i == 0) {
- glava = (PL *)malloc(sizeof(PL));
- P = glava;
- }
- else {
- P->sljedeci = (PL *)malloc(sizeof(PL));
- P = P->sljedeci;
- }
- P->x = V[i];
- }
- P->sljedeci = NULL;
- return glava;
- }
- int SekvencijalnoPretrazivanjeNiz(int *V, int n, int x) {
- for (int i = 0; i < n; i++) {
- if (V[i] == x) return i;
- }
- return -1;
- }
- int SekvencijalnoPretrazivanjeLista(PL *glava, int n, int x) {
- PL *prvi = glava;
- while (prvi != NULL) {
- if (prvi->x == x) return 1;
- prvi = prvi->sljedeci;
- }
- return -1;
- }
- int main() {
- int *V = NULL, n;
- PL *lista = NULL;
- time_t t1, t2;
- printf("Unesite broj elemenata niza:\n");
- scanf("%d", &n);
- V = (int *)malloc(n * sizeof(int));
- t1 = clock();
- unosNiza(V, n);
- t2 = clock();
- printf("Vrijeme unosa u niz iznosi %dms. \n", t2 - t1);
- t1 = clock();
- lista = stvoriListu(V, n);
- t2 = clock();
- printf("Vrijeme unosa u listu iznosi %dms. \n", t2 - t1);
- t1 = clock();
- if (SekvencijalnoPretrazivanjeNiz(V, n, 800) == -1) printf("Nema trazenog elementa u nizu.\n");
- t2 = clock();
- printf("Vrijeme sekvencijalnog pretrazivanja niza iznosi %dms. \n", t2 - t1);
- t1 = clock();
- if(SekvencijalnoPretrazivanjeLista(lista, n, 800) == -1) printf("Nema trazenog elementa u listi.\n");
- t2 = clock();
- printf("Vrijeme sekvencijalnog pretrazivanja liste iznosi %dms. \n", t2 - t1);
- printf("Velicina strukture iznosi %d", sizeof(PL));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement