Red de conocimiento informático - Computadora portátil - ¡Preguntas sobre programación en C++! Pídele consejo a Dios, espera en línea.

¡Preguntas sobre programación en C++! Pídele consejo a Dios, espera en línea.

#include

usando el espacio de nombres std;

//i 1 2 3 4 5

//--- ------------------

//a[i] 0 2 4 3 1

//Requerido para ordenar desde grande a pequeño

//Burbujeo especial: el propósito de cada volteo es voltear el más corto "actual" hacia arriba

int arr[] = {0,2,4, 3, 1};//0 significa el más corto, 4 significa el más largo

int len ​​​​= 5;//Hay 5 bloques

int pArr = len-1; //La inicialización apunta al último elemento de la matriz

int loc;

//Encuentra la posición loc excepto el número mínimo actual que ya está en la parte superior

void locationOfMin()

{

int i,minNum = 10000;

for(i = 0;i

{

if (minNum>arr[i])

{

minNum = arr[i];

loc = i;

}

}

}

////Invierte el número entre loc y pArr

void flip()

{

int n = pArr - loc,m,temp;

m = n/2;

for (int i =0;i<=m;i++)

{

temp = arr[loc+i];

arr[ loc+i] = arr [pArr-i];

arr[pArr-i] = temp;

}

}

void sort()

{

//Encontrar la posición del número mínimo actual

locationOfMin();

// Voltear el número entre loc y pArr

flip();

pArr--;//Esto se mueve desde el final hacia el frente

}

int main()

{

int i;

for (i = 0;i

{

sort();

}

//cout

for (i = 0;i< len;i++)

{

cout<

}

cout<

devuelve 0;

}