Задан массив и число х, вставить х в массив, не нарушив порядок - C#

Узнай цену своей работы

Формулировка задачи:

Помогите решить задачу Задан массив А, упорядоченный по неубыванию, и число х. Вставить х в массив, не нарушив порядка.

Решение задачи: «Задан массив и число х, вставить х в массив, не нарушив порядок»

textual
Листинг программы
using System;
using System.Linq;
using System.Threading.Tasks;
 
class Program
{
    static unsafe void Main()
    {
        Random rnd = new Random();
        int[] arr = Enumerable.Range(0, 25).Select(_ => rnd.Next(-10, 100)).ToArray();
        int x = 55;
 
        Console.WriteLine(string.Join(" ", arr)); // наш массив
        Console.WriteLine(string.Join(" ", arr.OrderBy(i=>i))); // чтобы увидеть куда была вставка, предварительная сортировка
        var result = SortedAndInputXToArray(arr, x).Result; // наш ответ
        Console.WriteLine(string.Join(" ", result));
 
        Console.ReadKey();
    }
    static unsafe Task<int[]> SortedAndInputXToArray(int[] arr, int x)
    => Task.Run(() =>
    {
        arr = arr.OrderBy(i => i).ToArray();
        fixed (int* n = arr)
        {
            int* tmp = n;
            for (int i=0;i<arr.Length;i++)
            {
                if(*tmp<x)
                {
                    tmp++;
                }
                else
                {
                    tmp--;
                    *tmp = x;
                    break;
                }
                if (i == arr.Length - 1)
                    *tmp = x;
            }
        }
        return arr;
    });
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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