Friday, January 15, 2016

სწრაფი დალაგება (quickSort) C


#include <stdio.h>
#include <stdlib.h>


void quickSort(int arr[], int left, int right) {
      int i = left, j = right;
      int tmp;
      int ShuaWertili = arr[(left + right) / 2];
      
      while (i <= j) {
            while (arr[i] < ShuaWertili)
                  i++;
            while (arr[j] >ShuaWertili)
                  j--;
            if (i <= j) {
                  tmp = arr[i];
                  arr[i] = arr[j];
                  arr[j] = tmp;
                  i++;
                  j--;
            }
      };
      
      if (left < j)
            quickSort(arr, left, j);
      if (i < right)
            quickSort(arr, i, right);
           
}
int main() {
 int arr[50], i, n;
 printf("\n sheiyvanet elementebis raodenoba: "); 
 scanf("%d", &n);
 printf("\n sheiyvanet elementebi: \n");
 for (i=0; i<n; i++) scanf ("%d", &arr[i]);
 printf("\n daulagebeli elementebi: \n");
for (i=0;i<n;i++) printf("%d ",arr[i]);

 quickSort(arr,0,n-1);
 printf("\n dalagebuli elementebi: \n"); 
for (i=0;i<n;i++) printf("%d ",arr[i]);
  
   printf("\n\n");
   system("pause"); 
   return 0; 
}




პრეზენტაციის ლინკი: https://www.dropbox.com/s/kgv5emlb78ohdbz/107483.pptx?dl=0

No comments:

Post a Comment