fork download
  1. #include <iostream>
  2.  
  3. void swap(int *num1, int *num2)
  4. {
  5. int temp = *num2;
  6. *num2 = *num1;
  7. *num1 = temp;
  8. }
  9.  
  10. void selectionSort(int array[], int size)
  11. {
  12. int start_index = 0;
  13. while(start_index < size)
  14. {
  15. int min_index = start_index;
  16. for(int i = start_index+1; i < size; i++)
  17. {
  18. if(array[i] < array[min_index])
  19. {
  20. min_index = i;
  21. }
  22. }
  23. swap(&array[start_index], &array[min_index]);
  24. start_index++;
  25. }
  26. }
  27.  
  28. void print(int array[], int size)
  29. {
  30. for(int i = 0; i < size; i++)
  31. {
  32. std::cout << array[i] << " ";
  33. }
  34. std::cout << '\n';
  35. }
  36.  
  37. int main()
  38. {
  39. int arr[] = {5, 3, 12, 2, 8};
  40. int size = sizeof(arr)/sizeof(int);
  41. std::cout << "Unsorted Array: ";
  42. print(arr, size);
  43. selectionSort(arr, size);
  44. std::cout << "Sorted Array: ";
  45. print(arr, size);
  46. }
  47.  
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Unsorted Array: 5 3 12 2 8 
Sorted Array: 2 3 5 8 12