<< | к задаче | главная | печатать | обсудить(0 сообщений) >>
Задача: Сортировка выбором, общий подход
Исходник: сортировка выбором [C++, code #594, hits: 11878, рейтинг: 3/7,4.85(2990)] +
автор: - [добавлен: 01.08.2009] управление:
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. int vibor (int in[], int n);
  5.  
  6. void main ()
  7. {
  8. int m=0;
  9. int s;
  10. int vvh [100];
  11. //Ввод массива
  12. char f [80];
  13. printf("\nvvedite chislo elementov v massive: ", f);
  14. scanf ("%d", &m); //Узнаем размер массива
  15. printf("\n vvedite cherez probel celie chisla:", f);
  16. for (int j=0; j<m; j++) scanf ("%d", &vvh[j]); //Заполнение массива
  17.  
  18. printf ("\n");
  19. s = vibor (vvh, m); //Сортировка методом выбора
  20. printf("sravneniy", f);
  21. printf ("%d", s);
  22.  
  23. getch();
  24. }
  25.  
  26. int vibor (int in[], int n)
  27. {
  28. int sravnen=0; //Характеристика трудоемкости (число стравнений)
  29. //Вывод сообщений
  30. char f [80];
  31. printf("\nsortirovka metodom vibora:\n", f);
  32. //Начало сортировки
  33. int i;
  34. for (i=0; i<n-1; i++) //n-1 раз ищем наименьший элемент
  35. {
  36. int imin=i; //принимаем за наименьший первый из рассматриваемых элементов
  37. //Поиск минимального элемента
  38. for (int j= i + 1; j<n; j++)
  39. {
  40. if (in[j]<in[imin]) imin = j;
  41. sravnen++;
  42. }
  43. int a = in[i]; in[i]=in[imin]; in[imin]=a; //Обмен элементов
  44. }
  45.  
  46. //Вывод результатов работы программы
  47. for (i=0; i<n; i++) printf ("%d ", in[i]);
  48. printf ("\n");
  49.  
  50. return sravnen; //Возвращаем число сравнений
  51. }
Сортировка выбором. Выбирается минимальный элемент в массиве, переносится в выходной массив на очередную позицию. Во входном массиве все элементы от следующего за текущим до конца сдвигаются на один влево.

+добавить реализацию
 
каталог | задачи | паттерны | исходники | стат | форумы | карта сайта | контакты | ссылки 
© 2000-2021 CodeLAB Group
  Все права защищены
Страница сгенерирована за 0.006173 секунд
Количество запросов к БД: 8, gzip: 3.9kb/15.9kb(76%)