diff --git "a/Arquivos/Ordena\303\247\303\243o.c" "b/Arquivos/Ordena\303\247\303\243o.c"
index 0b9fca8ee4c49f83a3b5f37507a1d7e781ded504..ea8754900cc2725968071b8162ebadb2560b69b3 100644
--- "a/Arquivos/Ordena\303\247\303\243o.c"
+++ "b/Arquivos/Ordena\303\247\303\243o.c"
@@ -37,3 +37,58 @@ void BubbleSort (int *Vetor) {
 		}
 	}
 }
+
+int Particao (int Vetor[], int Esquerda, int Direita) {
+    int Pivo, i, j;
+ 
+	Pivo = Vetor[Direita];
+	i = (Esquerda - 1);
+    for (j = Esquerda; j <= Direita- 1; j++)
+    {
+        if (Vetor[j] <= Pivo)
+        {
+            i++;
+            Troca (Vetor, i, j);
+        }
+    }
+    Troca (Vetor,i + 1, Direita);
+    return (i+1);
+}
+
+void QuickSortRecursivo (int Vetor[], int Esquerda, int Direita) {
+	int pospivo;
+	   if (Esquerda < Direita) {
+		pospivo = Particao(Vetor, Esquerda, Direita);
+		QuickSortRecursivo(Vetor,Esquerda,pospivo-1);
+		QuickSortRecursivo(Vetor,pospivo+1,Direita);
+	}
+}
+void QuickSortIterativo (int Vetor[], int Esquerda, int Direita) {
+    int Posicao;
+    int Pilha[ Direita - Esquerda + 1 ];
+    int top;
+ 
+    top = -1;
+    Pilha[ ++top ] = Esquerda;
+    Pilha[ ++top ] = Direita;
+ 
+    while ( top >= 0 )
+    {
+        Direita = Pilha[ top-- ];
+        Esquerda = Pilha[ top-- ];
+ 
+        Posicao = Particao( Vetor, Esquerda, Direita );
+ 
+        if ( Posicao-1 > Esquerda )
+        {
+            Pilha[ ++top ] = Esquerda;
+            Pilha[ ++top ] = Posicao - 1;
+        }
+ 
+        if ( Posicao+1 < Direita )
+        {
+            Pilha[ ++top ] = Posicao + 1;
+            Pilha[ ++top ] = Direita;
+        }
+    }
+}