83 lines · 1.3 KB · C
RawDownload
#include <stdio.h> int array[16]; //Swap integer values by array indexesvoid swap(int a, int b){   int tmp  = array[a];   array[a] = array[b];   array[b] = tmp;} //Partition the array into two halves and return the//index about which the array is partitionedint partition(int left, int right){   int pivotIndex = left;   int pivotValue = array[pivotIndex];   int index = left;   int i;    swap(pivotIndex, right);   for(i = left; i < right; i++)   {      if(array[i] < pivotValue)      {         swap(i, index);         index += 1;      }   }   swap(right, index);    return index;} //Quicksort the arrayvoid quicksort(int left, int right){   if(left >= right)      return;    int index = partition(left, right);   quicksort(left, index - 1);   quicksort(index + 1, right);} int main(){   int i;    array[0] = 62;   array[1] = 83;   array[2] = 4;   array[3] = 89;   array[4] = 36;   array[5] = 21;   array[6] = 74;   array[7] = 37;   array[8] = 65;   array[9] = 33;   array[10] = 96;   array[11] = 38;   array[12] = 53;   array[13] = 16;   array[14] = 74;   array[15] = 55;    for (i = 0; i < 16; i++)      printf("%d ", array[i]);    printf("\n");    quicksort(0, 15);    for (i = 0; i < 16; i++)      printf("%d ", array[i]);    printf("\n");    return 0;} /* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t