Перемещение чисел в очереди с помощью указателей - C#
Формулировка задачи:
Создать очередь 20 случайных чисел в диапазоне от минус 60 до 60. Напечатать ее. «Переписать» числа в новую очередь так, чтобы положительные числа разместились в начале очереди, а отрицательные числа – в конце очереди. Напечатать новую очередь.
p/s: Выполнить с помощью указателей
на c# console
заранее спасибо
Решение задачи: «Перемещение чисел в очереди с помощью указателей»
textual
Листинг программы
using System;
using System.Linq;
using System.Collections.Generic;
class Program
{
public static void Main()
{
Queue<int> q1 = new Queue<int>(Enumerable.Repeat(new Random(), 20).Select(r => r.Next(-60, 61)));
Console.WriteLine(String.Join(", ", q1));
Queue<int> q2 = new Queue<int>();
for (int i = q1.Count; i != 0; i--)
{
int n = q1.Dequeue();
(n < 0 ? q1 : q2).Enqueue(n);
}
while (q1.Count != 0)
{
q2.Enqueue(q1.Dequeue());
}
Console.WriteLine(String.Join(", ", q2));
}
}