Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2013, 18:04   #1
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию двухпутевые вставки.Сортировка

Двухпутевая сортировка одномерного массива.Сортирует через раз.Что не так в коде?И еще вставить надо счетчики колличества пересылок и сравнений

Тоесть если введу (когда нормально)
Код:
5 4 7 8 9 3 2 1
Результат выдаст
Код:
1 2 3 4 5 7 8 9
Если введу(когда неверно)
Код:
5 8 6 9 8 5
Выдаст
Код:
5 6 5 8 9 8
Что исправить в коде?

Код:
public static int[] SortMas(System.Int32[] intArray, System.Int32[] SortintArray, System.Int32 a)
        {
 
            System.Int32 s, w, left = a - 1, right = a - 1, t;
            SortintArray[a - 1] = intArray[0];
            for (w = 1; w < a; w++)
            {
                t = intArray[w];
                if (t >= intArray[0]) 
                {
                    for (s = right; s >= 0 && t < SortintArray[s] - 1; s--)
                    {
                        SortintArray[s + 1] = SortintArray[s];
                    }
                    SortintArray[s + 1] = t;
                    transfer++;
                    right++;
                }
                else
                {
                    for (s = left; s <= 2 * a - 1 && t > SortintArray[s]; s++)
                    {
                        SortintArray[s - 1] = SortintArray[s];
                    }
                    SortintArray[s - 1] = t;
                    transfer++;
                    left--;
                }
            }
            for (s = left; s < left + a; s++)
            {
                intArray[s - left] = SortintArray[s];
            }
            return intArray;
        }

Код:
intArray исходный массив
SortintArray промежуточный массив
a размерность
a.n.o.n.i.m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C++]: сортировка методом вставки erfo Помощь студентам 3 23.05.2012 16:13
Массивы в С++. Сортировка методом вставки Azzzza Помощь студентам 0 05.05.2011 14:40
Сортировка побочной диагонали метадом вставки skrup Общие вопросы Delphi 0 10.12.2010 19:53
И снова я. Сортировка методом вставки! xitrec1zaraza Общие вопросы C/C++ 3 07.12.2010 09:48