O jeito mais fácil nesse código é vc criar uma variável static contagem fora de todos os métodos e, logo acima da linha int aux=vetor[i], vc coloca contagem++. Depois, é só imprimir a variável contagem no final do main()
Professor, entendi que o algoritmo é feito em partições, mas não entedi como funciona o valor da 'esquerda' e da 'direita' ? Seria quando você coloca no "int i = esquerda - 1 e int j = direita+1" ? Se puder me ajudar, agradeço
"esquerda" e "direita" são variáveis usadas para indicar os índices (as posições do vetor) para comparação. O algoritmo vai comparando um valor à esquerda com um valor à direita (dentro de cada partição). Se o valor da esquerda é maior que o da direita, significa que deve haver uma troca entre os valores.
na faculdade eu dormia nessas aulas, estou eu aqui aprendendo de uma forma muito legal
Não canso de comentar em todos os videos de vcs. Obrigada pela clareza e didática das aulas! Vcs são mto bons!
Esse professor é fera ! Ensina tudo com muita simplicidade e a gente aprende. Tks so much great master !
Otimas aulas!!!
Ótimo conteúdo, você fez o Merge Sort? nao encontro no seu canal
O merge Nao
Onde eu preciso alterar exatamente para definir o pivô como sendo o último elemento do vetor?
Boa tarde Leandro,
Como eu poderia estar fazendo uma contagem de quantos passos foram necessários para ordenar o vetor ? tem alguma dica ?
Obrigado !
O jeito mais fácil nesse código é vc criar uma variável static contagem fora de todos os métodos e, logo acima da linha int aux=vetor[i], vc coloca contagem++. Depois, é só imprimir a variável contagem no final do main()
Obrigado pela ajuda Leandro !
+1 inscrito
Com esses algoritmos eu consigo ordenar somente vetores ou eu posso ordenar elementos dentro de uma lista ligada?
Qualquer conjunto de dados. Obviamente, você precisará adaptar o código para tipo de estrutura de dados
Professor, entendi que o algoritmo é feito em partições, mas não entedi como funciona o valor da 'esquerda' e da 'direita' ? Seria quando você coloca no "int i = esquerda - 1 e int j = direita+1" ? Se puder me ajudar, agradeço
"esquerda" e "direita" são variáveis usadas para indicar os índices (as posições do vetor) para comparação. O algoritmo vai comparando um valor à esquerda com um valor à direita (dentro de cada partição). Se o valor da esquerda é maior que o da direita, significa que deve haver uma troca entre os valores.
@@leguarino ah, entendi. Obrigado prof!
e caso eu queira utilizar um vetor double?
Sem problemas, só mudar o tipo do dado no vetor. As posições de um vetor sempre serão de números inteiros. O conteúdo de cada posição pode ser double.
se eu quiser em ordem decrescente, oq eu devo mudar ?
Os sinais de < e > nas condições que comparam o vetor com o pivot.
@@leguarino fiz e deu certo, obrigado !
muito bom, mas, preciso de mais tempo para entender melhor