Insertion Sort
unknown
c_cpp
2 years ago
1.7 kB
0
Indexable
Never
#include <stdio.h> #include <stdlib.h> #include <locale.h> // Estas definições indicam o que deverá ser incluso dependendo do sistema operacional em que o programa for executado. // Caso o sistema for Windows #if defined _WIN32 || defined WIN32 #define WINDOWS #include <windows.h> #define LIMPAR_TELA system("cls"); // Caso o sistema for Linux #elif defined __unix__ #define LINUX #include <unistd.h> #define LIMPAR_TELA system("clear"); #endif int main() { setlocale(LC_ALL, "Portuguese"); int tamanho, temp, A, B, C, D, E; printf("*--------------------------*\n"); printf("| ALGORITMO DE ORDENAÇÃO |\n"); printf("*--------------------------*\n"); printf("|||||| INSERTION SORT ||||||\n"); printf("*--------------------------*\n"); #if defined WINDOWS #define PAUSAR_TELA Sleep(2000); #elif defined LINUX #define PAUSAR_TELA usleep(2000 * 1000); #endif PAUSAR_TELA printf("\nSelecione o tamanho do seu vetor: "); scanf("%d", &tamanho); printf("Agora insira os números: "); int vetor[tamanho]; for (A = 0; A < tamanho; A++) { scanf("%d", &vetor[A]); LIMPAR_TELA for (B = 0; B <= A; B++) { printf("%d ", vetor[B]); } B = 0; } printf("\n"); for (C = 1; C < tamanho; C++) { for (D = C; D > 0; D--) { if (vetor[D-1] > vetor[D]) { temp = vetor[D-1]; vetor[D-1] = vetor[D]; vetor[D] = temp; } } } // Por último, será exibido todas as posições do vetor, mas agora de forma ordenada. for (E = 0; E < tamanho; E++) { printf("Posição[%d] = %d\n", E, vetor[E]); } return 0; }