.NET 4.x Сортировка естественным двух путевым слиянием (Алгоритм Е) - C#
Формулировка задачи:
Помогите пожалуйста, на паре задали сделать сортировку "Сортировка естественным двух путевым слиянием (Алгоритм Е)", все что искал и на ходил в интернете было написано или на С или на паскали но не на C#
+ они были все сделаны с помощью точек возврата.
подскажите, или помогите написать этот алгоритм
Решение задачи: «.NET 4.x Сортировка естественным двух путевым слиянием (Алгоритм Е)»
textual
Листинг программы
int[] R; int N, t, i, j, s, d, k, p, r, l, q; public void Sort(int N, ref int[] R) { Array.Resize(ref R, N * 2); S1: s = 0; p = 1; S2: if (s == 0) { i = 0; j = N - 1; k = N - 1; l = 2 * N; } if (s == 1) { i = N; j = 2 * N - 1; k = -1; l = N; } d = 1; q = p; r = p; S3: if (R[i]> R[j]) goto S8; S4: k = k + d; R[k] = R[i]; S5: i += 1; q -= 1; if (q > 0) goto S3; S6: k += d; if (k == l) goto S13; else R[k] = R[j]; S7: j -= 1; r -= 1; if (r > 0) goto S6; else goto S12; S8: k += d; R[k] = R[j]; S9: j -= 1; r -= 1; if (r > 0) goto S3; S10: k += d; if (k == l) goto S13; else R[k] = R[i]; S11: i += 1; q -= 1; if (q > 0) goto S10; S12: q = p; r = p; d = -d; t = k; k = l; l = t; if (j - i < p) goto S10; else goto S3; S13: p += p; if (p < N) { s = 1 - s; goto S2; } if (s == 0) for (t = 0; t < N; t += 1) { R[t] = R[t + N]; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д