Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <math.h>
- #include <string.h>
- #include "fila.c"
- #define b 10
- int main() {
- int n;
- double d;
- srand(time(NULL));
- printf("digite a quantidade de numeros que voce quer:\n");
- scanf("%d",&n);
- printf("digite a o maior digito presente:\n");
- scanf("%lf",&d);
- int vetorInicial[n];
- for(int j =0;j<n;j++){
- vetorInicial[j]=rand() % (int)pow(10.0,d);
- }
- printf("tabela : ");
- for (int i=0;i<n;i++){
- printf("%d ",vetorInicial[i]);
- }
- printf("\n\n");
- fila* fila0;
- fila* fila1;
- fila* fila2;
- fila* fila3;
- fila* fila4;
- fila* fila5;
- fila* fila6;
- fila* fila7;
- fila* fila8;
- fila* fila9;
- fila* vetorRadix[b]={fila0,fila1,fila2,fila3,fila4,fila5,fila6,fila7,fila8,fila9};
- for (int m = 0; m <b ; m++) {
- vetorRadix[m]=inicializaFila();
- }
- int help=1;
- for (int i =d-1;i>=0;i--){
- for(int j=0;j<n;j++){
- char str[(int)d+1];
- int k = vetorInicial[j];
- sprintf(str,"%03d",vetorInicial[j]);
- vetorRadix[str[i]- '0']=pushFila(vetorRadix[str[i]- '0'],k);
- }
- printf("Iteração %d : %dª distribuição\n\n",help,help);
- for (int l = 0; l <b ; l++) {
- printf("fila %d : ",l);
- exibeFila(vetorRadix[l]);
- printf("\n");
- }
- printf("\n");
- int t=0;
- for (int k=0; k<b;k++){
- while (!estaVazia(vetorRadix[k])){
- vetorRadix[k]=popFila(vetorRadix[k]);
- int aux = valor;
- vetorInicial[t]=aux;
- t++;
- }
- }
- printf("tabela : ");
- for (int i=0;i<n;i++){
- printf("%d ",vetorInicial[i]);
- }
- printf("\n\n");
- help++;
- }
- printf("\n*******fim do radix sort*******\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement