Одномерные массивы: сортировка слиянием и поиск линейным алгоритмом - C#
Формулировка задачи:
Задание такое: создать 2 одномерных массива (по 15000 элементов в каждом), после чего отсортировать его его методом слияния. Потом запихать отсортированные массивы в 3-ий массив. И с помощью линейного алгоритма, найти элементы, присутствующие в обоих массивах.
Эм, я уже отчаялся, что я только не пробовал - не выходит. Помогите кто чем сможет, буду очень признателен.
Решение задачи: «Одномерные массивы: сортировка слиянием и поиск линейным алгоритмом»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace _1_laba
- {
- class Program
- {
- static void Main(string[] args)
- {
- Random rnd = new Random();
- int[] A = Createmass(16, 0, 10, rnd);
- int[] B = Createmass(16, 0, 10, rnd);
- printMass(A);
- printMass(B);
- int[]F=AandB(A,B);
- // printMass(F);
- int[] G = F.Distinct().ToArray();
- printMass(G);
- Console.ReadKey();
- }
- public static int[] Createmass(int lan, int min, int max, Random rnd)
- {
- int[] work = new int[lan];
- for (int i = 0; i < lan; i++)
- {
- work[i] = rnd.Next(min, max);
- }
- return work;
- }
- //-----------------------печать массива
- public static void printMass(int[] W)
- {
- for (int i = 0; i < W.Length; i++)
- {
- Console.Write("{0}", W[i]);
- }
- Console.WriteLine();
- }
- public static int[] AandB(int[] C, int[] D)
- {
- int [] V = new int[C.Length];
- int K = 0;
- for (int i = 0; i < (int)(D.Length / 2); i++)
- {
- for (int j = 0; j < C.Length; j++)
- {
- if (D[i] == C[j])
- {
- V[K] = C[j];
- K++;
- }
- }
- }
- //слияние 2 часть
- int[] V_1 = new int[C.Length];
- int K_1 = 0;
- for (int i = (int)(D.Length / 2); i < D.Length; i++)
- {
- for (int j = 0; j < C.Length; j++)
- {
- if (D[i] == C[j])
- {
- V_1[K_1] = C[j];
- K_1++;
- }
- }
- }
- //---
- int[] O = new int[K + K_1];
- for (int i = 0; i < K; i++)
- {
- O[i] =V[i] ;
- }
- int p = 0;
- for (int i = K; i < O.Length; i++)
- {
- O[i] = V_1[p];
- p++;
- }
- return O;
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д