Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Cómo dividir una lista enlazada en una lista enlazada con números pares y una lista enlazada con números impares!

¡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>

#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;

}