Упорядочить по убыванию неповторяющиеся элементы массивов, используя алгоритм выбора - C#
Формулировка задачи:
Вторая: Даны два одномерных массива A[n] и B[n]. Получить массив С[m] (n=<m=< 2n), элементы которого – упорядоченные по убыванию неповторяющиеся элементы данных массивов. Использовать алгоритм выбора
Решение задачи: «Упорядочить по убыванию неповторяющиеся элементы массивов, используя алгоритм выбора»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public static void SelectionSort(ref int[] arr)
{
int min, temp;
int length = arr.Length;
for (int i = 0; i < length - 1; i++)
{
min = i;
for (int j = i + 1; j < length; j++)
{
if (arr[j] < arr[min])
{
min = j;
}
}
if (min != i)
{
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
}
static void Main(string[] args)
{
Console.Write("Введите n:");
int n = Convert.ToInt32(Console.ReadLine());
int[] A = new int[n];
int[] B = new int[n];
for (int i = 0; i < n; i++) { Console.Write("A[" + (i + 1) + "]="); A[i] = Convert.ToInt32(Console.ReadLine()); }
for (int i = 0; i < n; i++) { Console.Write("B[" + (i + 1) + "]="); B[i] = Convert.ToInt32(Console.ReadLine()); }
int[] C =new int[0];
for (int i = 0; i < n; i++)
{
bool flag = true;
for (int j = 0; j < C.Length; j++)
if (C[j] == A[i]) flag = false;
if (flag) { Array.Resize(ref C,C.Length+1); C[C.Length - 1] = A[i]; }
flag = true;
for (int j = 0; j < C.Length; j++)
if (C[j] == B[i]) flag = false;
if (flag) { Array.Resize(ref C, C.Length + 1); C[C.Length - 1] = B[i]; }
}
SelectionSort(ref C);
for (int i = 0; i < C.Length; i++)
Console.Write(C[i] + " ");
}
}
}