Задан массив и число х, вставить х в массив, не нарушив порядок - 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;
- });
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д