Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Q
QuickSort e MergeSort - Algoritmos 2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Leonardo Krambeck
QuickSort e MergeSort - Algoritmos 2
Commits
d924dc49
Commit
d924dc49
authored
Oct 14, 2019
by
Leonardo Krambeck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
adiciona codigo e biblioteca base
parent
d5cf5788
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
119 additions
and
0 deletions
+119
-0
arquivos base/analise.c
arquivos base/analise.c
+39
-0
arquivos base/lib_ordena.c
arquivos base/lib_ordena.c
+68
-0
arquivos base/lib_ordena.h
arquivos base/lib_ordena.h
+12
-0
No files found.
arquivos base/analise.c
0 → 100644
View file @
d924dc49
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include "lib_ordena.h"
#define MAX_IT 10000
/* isto pode ser ajustado */
/* Retorna tempo em milisegundos */
double
timestamp
(
void
)
{
struct
timeval
tp
;
gettimeofday
(
&
tp
,
NULL
);
return
((
double
)(
tp
.
tv_sec
*
1000
.
0
+
tp
.
tv_usec
/
1000
.
0
));
}
int
main
()
{
int
v
[
MAX
];
int
i
,
tam
;
double
ini
,
fim
,
soma_tempo
;
/* testes com vetores gerados randomicamente */
/* defina tam como voce achar melhor */
tam
=
10
;
gera_vetor_randomico
(
v
,
tam
);
soma_tempo
=
0
;
for
(
i
=
0
;
i
<
MAX_IT
;
i
++
)
{
ini
=
timestamp
();
quicksort
(
v
,
0
,
tam
-
1
);
/* mede tempo so do quicksort */
fim
=
timestamp
();
soma_tempo
+=
(
fim
-
ini
);
embaralha_vetor
(
v
,
tam
);
/* nao conta o tempo de embaralhar */
}
printf
(
"tempo medio do quicksort: %f
\n
"
,
soma_tempo
/
MAX_IT
);
return
0
;
}
arquivos base/lib_ordena.c
0 → 100644
View file @
d924dc49
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "lib_ordena.h"
void
imprime_vetor
(
int
v
[],
int
tam
)
{
int
i
;
for
(
i
=
0
;
i
<
tam
-
1
;
i
++
)
printf
(
"%d "
,
v
[
i
]);
printf
(
"%d
\n
"
,
v
[
tam
-
1
]);
}
void
troca
(
int
v
[],
int
i
,
int
j
)
{
int
aux
;
aux
=
v
[
i
];
v
[
i
]
=
v
[
j
];
v
[
j
]
=
aux
;
}
void
gera_vetor_em_ordem
(
int
v
[],
int
tam
)
{
int
i
;
for
(
i
=
0
;
i
<
tam
;
i
++
)
v
[
i
]
=
i
;
}
void
gera_vetor_randomico
(
int
v
[],
int
tam
)
{
int
i
;
srand
(
time
(
0
));
for
(
i
=
0
;
i
<
tam
;
i
++
)
v
[
i
]
=
(
unsigned
int
)
(
rand
()
%
(
tam
*
3
));
/* pode modificar se quiser */
}
void
embaralha_vetor
(
int
v
[],
int
tam
)
{
int
k
,
i
,
j
,
max_trocas
;
max_trocas
=
(
unsigned
int
)
(
rand
()
%
tam
)
+
tam
;
/* pode modificar */
for
(
k
=
0
;
k
<
max_trocas
;
k
++
)
{
i
=
(
unsigned
int
)
(
rand
()
%
tam
);
j
=
(
unsigned
int
)
(
rand
()
%
tam
);
troca
(
v
,
i
,
j
);
}
}
void
intercala
(
int
v
[],
int
ini
,
int
meio
,
int
fim
)
{
printf
(
"implementar intercala
\n
"
);
}
int
particiona
(
int
v
[],
int
ini
,
int
fim
)
{
printf
(
"implementar particiona
\n
"
);
}
void
inserctionsort
(
int
v
[],
int
ini
,
int
fim
)
{
printf
(
"implementar insertionsort
\n
"
);
}
void
quicksort
(
int
v
[],
int
ini
,
int
fim
)
{
printf
(
"implementar quicksort
\n
"
);
}
void
mergesort
(
int
v
[],
int
ini
,
int
fim
)
{
printf
(
"implementar mergesort
\n
"
);
}
arquivos base/lib_ordena.h
0 → 100644
View file @
d924dc49
#define MAX 100000000
void
gera_vetor_randomico
(
int
v
[],
int
tam
);
void
gera_vetor_em_ordem
(
int
v
[],
int
tam
);
void
embaralha_vetor
(
int
v
[],
int
tam
);
void
imprime_vetor
(
int
v
[],
int
tam
);
void
troca
(
int
v
[],
int
i
,
int
j
);
void
intercala
(
int
v
[],
int
ini
,
int
meio
,
int
fim
);
int
particiona
(
int
v
[],
int
ini
,
int
fim
);
void
insertionsort
(
int
v
[],
int
ini
,
int
fim
);
void
quicksort
(
int
v
[],
int
ini
,
int
fim
);
void
mergesort
(
int
v
[],
int
ini
,
int
fim
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment