кодесурса
«C

Упражнения C: алгоритм быстрой сортировки

script1adsense2code
script1adsense3code

Алгоритм поиска и сортировки при программировании на C: упражнение 7 с решением

Напишите программу на C для сортировки списка элементов с использованием алгоритма быстрой сортировки.

Примечание. Быстрая сортировка - это сортировка сравнения, означающая, что она может сортировать элементы любого типа, для которых определено отношение «меньше чем» (формально, общий порядок).
Считать n значений в массив и отсортировать с помощью быстрой сортировки.

Наглядная презентация - алгоритм быстрой сортировки:

«C

«C

Пример решения:

Образец кода C:

#include<stdio.h>
  int  n;
  int  main()
  {
  int arr[30],l,r,i;
  void quick_sort(int arr[],int,int);
  printf("\nInput number of elements:  ");
  scanf(" %d",&n);
  printf("\nInput  array values one by one: ");
  for(i=0;i<n;i++)
  scanf(" %d",&arr[i]);
  l=0; r=n-1;
  quick_sort(arr,l,r);
  printf("\nThe quick sorted array is:  ");
  for(i=0;i<n;i++)
  printf(" %d",arr[i]);
  printf("\n");
  }
  void quick_sort(int arr[],int low,int high)
  {
  int temp,left,right,x,k;
  if(low>=high)
  return;
  else
  {
  x=arr[low];
  right=low+1;
  left = high;
  while(right<=left)
  {
  while(arr[right]<x && right  <= high)
  {
  right ++;
  }
  while(arr[left]>x && left >  low)
  {
  left--;
  }
  if(right<left)
  {
  temp=arr[right];
  arr[right]=arr[left];
  arr[left]=temp;
  right++;
  left--;
  }
  }
  arr[low]=arr[left];
  arr[left]=x;
  quick_sort(arr,low,left-1);
  quick_sort(arr,left+1,high);
  }
  }

Пример ввода:

 3
12
15
56

Пример вывода:

 Введите количество элементов:  
Значения входного массива одно за другим: 
Быстро отсортированный массив: 12 15 56

Блок - схема:

«Блок-схема:

Редактор кода программирования C:

Улучшите этот пример решения и опубликуйте свой код через Disqus.

Предыдущий: Напишите программу на C для сортировки чисел, используя алгоритм кучи (MAX heap).
Далее: Напишите программу на C для сортировки списка элементов с использованием алгоритма сортировки по основанию.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code