Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование

Сортировка массива методом Шелла

Забавная пачка "5000 дублей".
Юмор – настоящее богатство! Купюры в пачке выглядят совсем как настоящие, к тому же и банковской лентой перехвачены... Но вглядитесь
60 руб
Раздел: Прочее
Ручка "Шприц", желтая.
Необычная ручка в виде шприца. Состоит из пластикового корпуса с нанесением мерной шкалы. Внутри находится жидкость желтого цвета,
31 руб
Раздел: Оригинальные ручки
Пакеты с замком "Extra зиплок" (гриппер), комплект 100 штук (150x200 мм).
Быстрозакрывающиеся пакеты с замком "зиплок" предназначены для упаковки мелких предметов, фотографий, медицинских препаратов и
148 руб
Раздел: Гермоупаковка

Отчёт по практике Выполнили: cт.гр. 97ЭЭ3 Толмач М., Ерегин П., Синева Т. Пензенский государственный университет, Кафедра "Экономическая кибернетика" Пенза 1998 г. Задание Цель работы: изучить метод Шелла для сортировки строкового массива и применить этот метод на практике. Заданием на практическую работу является разработка программы на языке программирования Borla d С v.3.1. для сортировки массива строк по их индексному значению. Значения элементов массива и их индексы задаются пользователем с клавиатуры. Введение В настоящее время индустрия производства компьютеров и программного обеспечения для них является одной из наиболее важных сфер экономики развитых стран. Ежегодно в мире продаются десятки миллионов компьютеров. Только в США объем продаж компьютеров составляет десятки миллионов долларов и постоянно продолжает расти. В чем же причины такого стремительного роста индустрии персональных компьютеров и их сравнительная выгодность для многих деловых применений? Простота использования, обеспеченная с помощью диалогового способа взаимодействия с компьютером. Относительно высокие возможности по переработке информации, наличие программного обеспечения, а так же мощных систем для разработки нового программного обеспечения. Язык С - универсальный язык общего назначения, область приложений которого - программирование систем в самом широком смысле. Кроме этого, С успешно используется как во многих приложениях, так и в мощных операционных системах. 1 Входные данные Входными данными в программе является число элементов массива, значение индекса каждого элемента и строковые элементы массива. Все эти данные вводятся пользователем с клавиатуры по запросу программы. Число элементов массива не должно превышать 32767. Индексы элементов массива должны быть целочисленными значениями. 2 Выходные данные Выходными данными в программе является исходный и отсортированный методом Шелла массив, которые выводятся на экран по запросу пользователя. 3 Архитектура программы Данная программа разработана на языке программирования С и состоит из следующих функциональных модулей: 1) me u - обработчик меню; 2) i pu - ввод данных; 3) ou pu - вывод данных; 4) sor - сортировка Шелла; 5) Основная программа. 1.Функция me u: Осуществляет вывод на экран меню , опрос клавиатуры в бесконечном цикле и передвижение цветного курсора по пунктам меню. При нажатии клавиши ‘Esc’ возвращает -1, при нажатии клавиши с номером пункта меню возвращает этот номер, при нажатии клавиши ‘E er’ возвращает номер текущего пункта меню. Параметры для вызова функции me u: x,y – координаты меню на экране, cap – содержимое меню. 2.Функция i pu : Осуществляет ввод индексов и элементов массива с клавиатуры, возвращает количество введенных элементов. Параметры для вызова функции mas[] –указатель на массив, s – номер первого вводимого элемента. 3.Функция ou pu : Осуществляет вывод содержимого массива на экран. Параметры для вызова функции mas[] –указатель на массив, um – число элементов массива. 4.Функция sor : Осуществляет сортировку массива по индексам элементов методом Шелла. Сортировка методом Шелла заключается в следующем: сначала отдельно группируются и сортируются элементы, отстоящие друг от друга на расстоянии 9.

После первого прохода элементы перегруппировываются и вновь сортируются элементы, отстоящие друг от друга на расстоянии 5, затем сортируются элементы,. отстоящие друг от друга на расстоянии 3, и наконец , на четвертом проходе идет обычная или одинарная сортировка. Параметры для вызова функции mas[] –указатель на массив, um – число элементов массива. 5. Основная программа: Осуществляет установку цветов, очистку экрана, вызов, функции обработки меню и в зависимости от возвращенного значения вызов одной из следующих функций: i pu , ou pu , sor . Список литературы 1. Вирт Н. Алгоритмы и структуры данных: Пер с англ. -М.: Мир,1989. - 360 с., ил. 2.Бьярн Страуструп. Язык программирования С . в двух частях. Пер. с англ. Киев:"ДиаСофт",1993.-296 с. ил. ПРИЛОЖЕНИЕ 1 Распечатка программы #i clude &l ;s dio.h> #i clude &l ;s dlib.h> #i clude &l ;co io.h> #i clude &l ;s ri g.h> // Данные одного элемента массива s ruc o e elem { i ;        // Индекс char s ;     // Данные }; // Обработка меню i me u(i x,i y,char cap ); // Ввод данных i i pu (o e elem mas[],i s ); // Вывод данных void ou pu (o e elem mas[],i um); // Сортировка Шелла void sor (o e elem mas[],i um); // Обработка меню i me u(i x,i y,char cap ) { i ,m; // Счетчики i um; // Количество пунктов i k; // Выбранный пункт char p ; // Временный указатель на символ char c; // Считанный с клавиатуры символ // Вычисляем количество пунктов um=s rle (cap )/20; // Курсор на нулевой элемент k=0; // Бесконечный цикл обработки for (;;) { // Вывод меню  p =cap ;  for ( =0; &l ; um; ) {   go oxy(x,y ); // Закраска пункта, на который указывает курсор   if ( ==k) {   // Закраска ex backgrou d(12); ex color(14);   } else {   // Нормальный ex backgrou d(3); ex color(1);   }   cpri f("%d) ", 1);   for (m=0;m&l ;20;m ) cpri f("%c", (p ));  }   ex backgrou d(3);   ex color(1); // Опрос клавиатуры  c=ge ch();  if (!c) c=ge ch(); // Проверка, не нажата ли клавиша с цифрой  if (((c-'1')>=0)&&((c-'1')&l ; um)) { // Установка указателя в зависимости от нажатой цифры   k=c-'1'; // Запись в буфер клавиатуры символа E ER   u ge ch(13);  } else {  // Анализ   swi ch(c) {    // Вверх    case (72):  if (k>0) k--; else k= um-1;  break;    // Вниз    case (80):  if (k&l ;( um-1)) k ; else k=0;  break;    // Выход по ESC - возвращается -1    case (27):  re ur -1;    // Выход по E ER - возвращается номер пункта    case (13): re ur k;   }  } } } // Ввод данных // Возвращаемое значение - количество введенных элементов // Входные параметры - указатель на массив и номер первого вводимого элемента i i pu (o e elem mas[],i s ) { clrscr();         // Очистка массива i x;           // Индекс i um;          // Количество введенных элементов i ;           // Счетчик char a;        // Данные // Ввод количества элементов pri f(" Число вводимых элементов: "); sca f("%d",& um); pri f(" Вводите строчки формата X: Слово "); // Ввод элементов for ( =0; &l ; um; ) {  sca f("%d:%s",&x,a);  mas.s ,a); }; re ur um; } // Вывод массива // Входные параметры - указатель на массив и количество элементов void ou pu (o e elem mas[],i um) { clrscr(); i ;    // Счетчик pri f(" Содержимое массива: "); pri f(" Индекс Содержимое "); // Вывод элементов for ( =0; &l ; um; )  pri f("%5d  %s ",mas.s

); // Ожидание ESC go oxy(1,24); pri f(" Нажмите ESC для продолжения . "); while (ge ch()!=27); } // Сортировка Шелла void sor (o e elem mas={9,5,3,1};      // Шаги сортировки i fs,m ,p;          // Первый, минимальный и текущий элементы i ;             // Счетчик o e elem prm;          // Временная переменная // Цикл сортировки for ( =0; &l ;4; ) {  fs=0;             // Начинать сортировать с начала // Перебор всего массива  while (fs&l ; um) { // Поиск минимального элемента   p=fs;   m =fs;   while (p&l ; um) {    if (mas;   } // Если минимальный элемент отличается от начального, поменять их местами   if (m >fs) {    prm. =mas. =mas. =prm. ;    s rcpy(mas;         // Переход к следующему элементу  } } } // Основная программа void mai () { o e elem mas;  // Массив i um;       // Количество элементов i s ;        // Выбранный пункт меню ex backgrou d(0); ex color(15); clrscr(); do { // Вывод меню  s =me u(30,5," Ввод данных    "         " Добавление данных "         " Вывод данных    "         " Сортировка Шелла  "         " Выход из программы "         "x0");   ex backgrou d(0);   ex color(15); // Выполнение действий в зависимости от выбранного пункта  swi ch(s ) { // Ввод данных   case (0):    um=i pu (mas,0);    break; // Добавление данных   case (1):    um =i pu (mas, um);    break; // Вывод массива   case (2):    ou pu (mas, um);    break; // Сортировка   case (3):    sor (mas, um);    break;  } // Выход по ESC или последнему пункту } while ((s &l ;4)&&(s !=-1)); clrscr(); } ПРИЛОЖЕНИЕ 2 Результаты работы программы Меню:      1) Ввод данных      2) Добавление данных      3) Вывод данных      4) Сортировка Шелла      5) Выход из программы 1) Ввод данных: Число вводимых элементов: 8 Вводите строчки формата X: Слово 0:sig 1001:else 3000:yes 1535:bu 1:pas 412:cell 99:aler 2888:objec 3) Вывод данных: Содержимое массива: Индекс Содержимое  0  sig 1001  else 3000  yes 1535  bu  1  pas 412  cell  99  aler 2888  objec Нажмите ESC для продолжения . 2) Добавление данных: Число вводимых элементов: 1 Вводите строчки формата X: Слово 10000:hello 4) Сортировка Шелла 3) Вывод данных: Содержимое массива: Индекс Содержимое  0  sig  1  pas  99  aler 412  cell 1001  else 1535  bu 2888  objec 3000  yes 10000  hello Нажмите ESC для продолжения . 5) Выход из программы ПРИЛОЖЕНИЕ 3 Блок–схема алгоритма программы

В то же время, избавляя программиста от необходимости задумываться о низкоуровневом распределении памяти, в котором нуждаются алгоритмы, они невольно создают предпосылки для написания неэффективного кода. Неэффективность кода может быть обусловлена причинами двоякого рода:  1. Вычислительная неэффективность алгоритма. Этот вид неэффективности наблюдается в тех случаях, когда спроектированный вами алгоритм предусматривает интенсивные вычисления или выполнение большего количества циклов, чем это объективно необходимо, от чего можно было бы избавиться, используя более эффективные алгоритмы. В качестве классического примера можно привести сортировку массива данных. Иногда у вас может появляться возможность выбирать между несколькими возможными вариантами алгоритмов сортировки, отдельными частными случаями которых могут, например, быть алгоритмы "порядка N" (линейная зависимость времени вычислений от количества сортируемых элементов), "порядка N*Log(N)" (зависимость времени вычислений от количества сортируемых элементов отличается от линейной, но остается все же лучшей, чем экспоненциальная) или "порядка N^2" (экспоненциальная зависимость времени вычислений от количества сортируемых элементов)

1. Сортировка массивов методом вставок

2. Сортировка данных в массиве

3. Методы мониторинга короткопериодных деформаций массива горных пород

4. Методы работы с массивами на языке BASIC

5. Формирование информационного массива для анализа финансового состояния предприятия (с использованием статистических методов)

6. Методы внутренней сортировки. Обменная сортировка. Сравнение с другими методами сортировки
7. Элементарные методы сортировки
8. Алгоритмы сортировки

9. Массивы в языках Pascal и Basic

10. Электронное устройство счета и сортировки

11. Электронное устройство счета и сортировки

12. Твердые бытовые отходы (ТБО), их складирование, сепарация и сортировка по группам

13. Разрывные нарушения в фундаменте и осадочном чехле территории Воронежского кристаллического массива (ВКМ)

14. Быстрые алгоритмы сортировки

15. Передача массива информации в параллельном формате между двумя микроЭВМ КР580ВН80А с использованием БИС КР580ВВ55

16. Массивы

Подвесные качели "Тарзанка".
Данные подвесные качели от торговой марки ZebraToys представляют собой не традиционное изделие для катания, а яркую тарзанку. Небольшая
317 руб
Раздел: Качели
Велосипед трехколесный.
Велосипед трехколесный (пластмассовые колеса, с широкой шинкой, без кузова, без передней панели, без гудка). Велосипед рассчитан для детей
935 руб
Раздел: Трехколесные
Магнитная мозаика "Техника".
Количество элементов различной формы - 235 штук. Дополнительных элементов - 15 штук. Количество цветов - 5. Игровое поле - 1. Средний
494 руб
Раздел: Магнитная

17. Модуль для работы с ассоциативными массивами в C++ Builder

18. Массивы в языках Pascal и Basic

19. Интервальные типы данных. Оператор TYPE. Массивы

20. Простейшие бифункциональные природные соединения - мостик к массиву природных соединений

21. Лесные массивы и их значение в экономике Японии

22. Определение геотермии горного массива
23. Управление состоянием массива
24. Алгоритмические языки: обработка массивов

25. Алгоритмы сортировки, поиска длиннейшего пути во взвешенном графе и поиска покрытия, близкого к кратчайшему

26. Использование электронной таблицы как базы данных. Сортировка и фильтрация данных в Microsoft Excel 97

27. Обработка массивов данных в среде Turbo Pascal

28. Работа над массивами с помощью языка С++

29. Разработка систем хранения информации на RAID-массивах

30. Выражения и условный оператор IF. Операторы циклов. Массивы и подпрограммы

31. Выявление функциональной зависимости в массиве данных

32. Механизация и автоматизация работ по контролю и сортировке деталей

Швабра для пола, с отжимом.
Швабра может использоваться для мытья пола, стен и окон. Пригодна для чистки ковров. Моющая губка - 27 см. Ручка - телескопическая, длина
331 руб
Раздел: Швабры и наборы
Игра "Городки".
Игра в городки заключается в выбивании фигур, построенных из пяти городков, с ограниченной площадки, называемой "городом",
378 руб
Раздел: Городки
Конструктор "Цветной", 65 деталей.
Конструктор - это игра развивающая кругозор, знакомящая с различными формами и цветами, а также развивающая воображение Вашего ребёнка.
584 руб
Раздел: Деревянные конструкторы

33. Проектирование системы электроснабжения для жилого массива

34. Метод конечных элементов

35. Изучение миксомицетов среднего Урала, выращенных методом влажных камер

36. Методы исследования в цитологии

37. МЕТОДЫ ИЗУЧЕНИЯ ЭВОЛЮЦИИ ЧЕЛОВЕКА

38. Методологическое значение сравнительного метода в зоологических исследованиях
39. Метод радиоавтографии в биологии
40. Виды стихийных бедствий и методы борьбы с ними

41. Статистика населения. Методы анализа динамики и численности и структуры населения

42. Гамма – каротаж. Физические основы метода

43. Метод Бокового каротажа

44. Методы выделения мономинеральных фракций

45. Основні методи боротьби з інфляцією

46. Предмет, метод, источники Административного права

47. Методы осуществления государственной власти

48. Метод гражданско правового регулирования

Настольная игра "Юный Свинтус" (новая версия).
Новая версия всероссийского карточного бестселлера — теперь и для самых маленьких игроков! Любимая механика, знакомые правила и милые
390 руб
Раздел: Игры в дорогу
Спиннер трехлучевой "Элит", перламутровый (в железной квадратной коробке).
Компактная стильная игрушка для взрослых и детей, предназначенная для вращения на пальцах. Состоит из подшипников, благодаря которым
465 руб
Раздел: Спиннеры
Самоклеящиеся этикетки, A4, 210x297 мм.
Формат: А4. Размер: 210x297 мм. 1 этикетка на листе (100 листов в упаковке).
500 руб
Раздел: Бейджи, держатели, этикетки

49. Формы и методы государственного регулирования экономики в Казахстане

50. Математические методы и модели в конституционно-правовом исследовании

51. Методы комплексной оценки хозяйственно-финансовой деятельности

52. Цикл-метод обучения. (Методика преподавания эстонского языка)

53. Эффективные методы изучения иностранных языков

54. Метод действенного анализа в режиссуре театра, кино и телевидения
55. Соцреализм как метод искусства
56. Дидактические возможности отдельных методов обучения на уроках литературы в старших классах

57. Концепция поэта и поэзии П.Б.Шелли

58. Mozart: Symphony #40 in G Minor, K.550 Моцарт: Симфония №40 в си-минор, К. 550

59. Цивилизационные методы в изучении истории

60. Методы компьютерной обработки статистических данных. Проверка однородности двух выборок

61. Методичка по Internet Explore

62. Шифрование по методу UUE

63. Разработка методов определения эффективности торговых интернет систем

64. Препроцессор языка СИ

Копилка "Лаванда", 16x21 см.
Копилка поможет Вам наконец-то собрать требуемую сумму для покупки долгожданной вещицы. Регулярно удалять пыль сухой, мягкой
343 руб
Раздел: Копилки
Набор детской посуды "Авто", 3 предмета.
Набор посуды для детей включает в себя три предмета: суповую тарелку, обеденную тарелку и кружку. Набор упакован в красочную, подарочную
397 руб
Раздел: Наборы для кормления
Диванчик раскладной "Кошечка".
Диван "Кошечка" - красивый, функциональный, надежный детский диван. Он способен украсить детскую комнату и может использоваться
2791 руб
Раздел: Прочие

65. Метод деформируемого многогранника

66. Обучение начальных курсов методам программирования на языке Turbo Pascal

67. Программирование на "Си"

68. Модифицированный симплекс-метод с мультипликативным представлением матриц

69. Методы приобретения знаний в интеллектуальных системах

70. Язык Си: шаг за шагом
71. Билеты, решения и методичка по Информатике (2.0)
72. Вычисление определённого интеграла с помощью метода трапеций на компьютере

73. Интегрирование методом Симпсона

74. Защита цифровой информации методами стеганографии

75. Компьютерный файлово-загрузочный полиморфный стелс-вирус ONEHALF 3544, особенности алгоритма и методы борьбы с ним

76. Система поддержки принятия маркетинговых решений в торговом предприятии на основе методов Data Mining

77. Применение метода частотных диаграмм к исследованиям устойчивости систем с логическими алгоритмами управления

78. Лабораторная работа №2 по "Основам теории систем" (Решение задач линейного программирования симплекс-методом. Варианты разрешимости задач линейного программирования)

79. Численные методы. Двойной интеграл по формуле Симпсона

80. Численные методы

Бусы-прорезыватели "Фруктовый микс".
Детские бусы-прорезыватели "Фруктовый микс" из серии "Мамины помощники" сделают процесс появления первых молочных
380 руб
Раздел: Пластмассовые
Трикотажная пеленка кокон "Bambola" (цвет: розовый).
Состав: интерлок, хлопок 100%. Возраст: 0-3 месяцев.
381 руб
Раздел: Пелёнки
Универсальный бокс, средний (3 секции).
Универсальные боксы прекрасно подходят для хранения любых мелочей: шурупов, гаек в мастерской, лекарств в домашней аптечке, маленьких
526 руб
Раздел: Более 10 литров

81. Метод Зойтендейка

82. Метод конечных разностей или метод сеток

83. "Комплект" заданий по численным методам

84. Аксиоматический метод. Логическое строение геометрии

85. Расчет дифференциального уравнения первого, второго и третьего порядка методом Эйлера

86. Сетевые методы в планировании
87. Вычисление интеграла фукции f (x) (методом Симпсона WinWord)
88. НАХОЖДЕНИЕ ВСЕХ ДЕЙСТВИТЕЛЬНЫХ КОРНЕЙ АЛГЕБРАИЧЕСКОГО МНОГОЧЛЕНА МЕТОДОМ ДЕЛЕНИЯ ОТРЕЗКА ПОПОЛАМ (БИСЕКЦИИ) И МЕТОДОМ ХОРД И КАСАТЕЛЬНЫХ С УКАЗАННОЙ ТОЧНОСТЬЮ И УЧЕТОМ ВОЗМОЖНОЙ КРАТНОСТИ КОРНЕЙ

89. РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ПЯТИТОЧЕЧНЫМ МЕТОДОМ АДАМСА – БАШФОРТА

90. Вычисление интегралов методом Монте-Карло

91. Построение решения задачи Гурса для телеграфного уравнения методом Римана

92. СИНГУЛЯРНОЕ РАЗЛОЖЕНИЕ В ЛИНЕЙНОЙ ЗАДАЧЕ МЕТОДА НАИМЕНЬШИХ КВАДРАТОВ

93. Методы и приемы решения задач

94. Приближенный метод решения интегралов. Метод прямоугольников (правых, средних, левых)

95. Вычислительные методы алгебры (лекции)

96. Решение транспортной задачи методом потенциалов

Гель для укрепления зубов R.O.C.S. "Medical Minerals" для детей и подростков, со вкусом клубники, 45.
Благодаря определенным добавкам он формирует стабильную невидимую пленку на зубах, обеспечивает постепенное проникновение минералов в
354 руб
Раздел: Зубные пасты
Кино-хлопушка.
Реальная кино-хлопушка. Материалы: мдф, фанера. Качественная трафаретная окраска.
418 руб
Раздел: Прочее
Папка для тетрадей "Чемпионат мира по футболу 2018. Талисман", красная, А4.
Формат: А4. Застежка: молния.
365 руб
Раздел: Канцтовары, хобби

97. Составление и решение нестандартных уравнений графоаналитическим методом

98. Некоторые дополнительные вычислительные методы

99. Метод прогонки решения систем с трехдиагональными матрицами коэффициентов


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.