Перемещение чисел в очереди с помощью указателей - 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));
    }
}

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы