¡Cómo dividir una lista enlazada en una lista enlazada con números pares y una lista enlazada con números impares!
Escribí un programa en C para ti. Debería considerarse muy comunicativo. Utiliza matrices dinámicas y colas de prioridad para implementar el montón mínimo, así que me gusta este programa, jajajaja
#include lt; p> p>
#include lt;queuegt;
usando el espacio de nombres std;
void print(priority_queuelt;int, vectorlt;intgt;, majorlt;intgt;gt;amp ;q , tamaño_t tamaño) {
for(tamaño_t i = 0; i lt; tamaño amp; amp; coutlt; lt; q.top()lt; lt; " "q.pop(), i );
coutlt;lt;endl;
}
int main() {
int num, * nums;
p>
priority_queuelt;int,vectorlt;intgt;,intgt;evenList,oddList; nums = (int* ) calloc(num, sizeof(int));
for(int i = 0; i lt; num amp; cingt; gt; nums[i]; nums[i] 2 == 0? evenList.push(nums[i]): oddList.push(nums[i]), i);
coutlt;lt; evenList.size()lt;lt;lt; "lt;lt ;lt; oddList.size()lt;lt; endl;
print(evenList, evenList.size());
print(oddList , oddList.size ());
devuelve 0;
}