Я изучаю код, и хотя я бы попытался написать алгоритм сортировки слияния (что-то, о чем мы слышали в нашем аналитическом курсе, но НЕ домашнее задание). Я работал от псевдокода, который показал нам тренер, но я не могу определить проблему. Любой шанс, который кто-то может указать мне в правильном направлении?Что случилось с моим кодом сортировки слияния?
Редактировать: Алгоритм возвращает только первое значение в Списке.
static List<int> mergeSort(List<int> mj)
{
List<int>m = mj;
if(m.Count <= 1)
return m;
List<int> merge = new List<int>();
List<int> left = new List<int>();
List<int> right = new List<int>();
int middle = m.Count/2;
for (int i = 0; i < middle; i++)
left.Add(m[i]);
for (int j = middle; j >= m.Count; j++)
right.Add(m[j]);
left = mergeSort(left);
right = mergeSort(right);
merge.AddRange(left);
merge.AddRange(right);
for (int k = 0; k < merge.Count; k++)
{
Console.Write(merge[k] + ",");
}
return merge;
}
Итак, что это за проблема? Вы этого не описали. Где вы застряли? – Oded
FYI, вам не нужно ставить «C#» после вашего названия. Для этого нужны теги. –
Спасибо, извините за это. Он возвращает только первое значение из списка. –