The Code-Bin
Links
Home
Add your code!
All Listings
About
Latest Entry
Featured Scripts
Author's Website
Latest Entries
FFMPEG Thumbnail Scr...
PHP, 0.8KB
Jul. 29, 10:24pm
John
Z80 Assembler, 190 bytes
Feb. 17, 3:36am
John
Z80 Assembler, 176 bytes
Sep. 13, 2:19am
John
Z80 Assembler, 77 bytes
Sep. 13, 2:18am
John
Z80 Assembler, 209 bytes
Sep. 13, 2:17am
quick
Posted by: Pedro | April 7, 2010 @ 2:52pm
PHP Code
[
Download
]
//Trabalho 1 //Autor: Pedro Henrique da Costa Braga //DRE: 109062092 #include <stdio.h> #include <string.h> #include <stdlib.h> int* vetor; int tam; //======================quickSort========================================================== void troca(int *x, int *y) { int temp; temp = *x; *x = *y; *y = temp; } int pivoteia(int v[],int antes,int depois) { int i,j; i = antes; for(j = antes + 1; j <= depois; j++) { if(v[j] < v[depois]) { i++; troca(&v[i], &v[j]); } } troca(&v[antes], &v[i]); return i; } void quickSort(int v[], int antes, int depois) { int pivo; if(antes > depois) { pivo = pivoteia(v,antes,depois); quickSort(v, antes, pivo - 1); quickSort(v, pivo + 1, depois); } } //=================================Fun��o de Entrada================================================ void entrada() { int temp; tam = 0; int max = 10; vetor = (int *)malloc(max*sizeof(int)); while (scanf ("%d", &temp) != EOF) { tam++; if(tam >= max - 1) { max = max + 10; vetor = (int *)realloc(vetor,max*sizeof(int)); } vetor[tam-1] = temp; } } //==================================Fun��o main===================================================== int main (int argc, char *argv[]) { if (argc < 3) { if(strcmp(argv[1],"-h") == 0) //Ajuda { printf("\nAutor: Pedro Henrique da Costa Braga\n"); printf("DRE: 109062092\n\n"); printf("Aqui se encontram implementados os algoritmos de quickSort e quickSelect. O programa utiliza os parametros da linha de comando para decidir o que fazer:\n"); printf("\n1) quick -h -> Imprime texto de ajuda;\n"); printf("\n2) quick -o k -> roda o quickSort, e depois imprime o valor na k-esima posicao;\n"); printf("\n3) quick -s k -> roda o quickSelect, e depois imprime o valor k-esima posicao;\n"); return 0; } else { printf("Parametro invalido\nDigite 'quick -h' para ver os comandos aceitados"); return 0; } } else if(argc > 3) { printf("Parametro invalido\nDigite 'quick -h' para ver os comandos aceitados"); return 0; } else { if(strcmp(argv[1],"-o") == 0) //quickSort { int i; entrada(); // quickSort(vetor[],0,tam); i = atoi(argv[2]); printf("%d\n", vetor[i]); } else if(strcmp(argv[1],"-s") == 0) //quickSelect { printf("Quickselect\n"); } else { printf("Parametro invalido\nDigite 'quick -h' para ver os comandos aceitados"); } return 0; } }
Syntax Highlighting
[
Open in new window
]
Author Comments
none
Rating
4.72 / 8
67 Votes
http://codebin.yi.org/575
page generated in 0.00 seconds