fork download
  1. #include <stdio.h>
  2.  
  3. int MaxInd(int arr[], int i, int len, int max, int index){
  4. if(i==len)
  5. return index;
  6.  
  7. if (arr[i]>max){
  8. max=arr[i];
  9. index=i;
  10. }
  11.  
  12. index = MaxInd(arr,i+1,len,max,index);
  13. return index;
  14. }
  15. int SelectionSort(int arr[], int len){
  16. int index=0; int max=0; int i=0; int temp=0; int num=0;
  17. if(len<0){
  18. for(int j=0; j<len; j++)
  19. printf("array=%d\n",arr[j]);
  20. return 0;
  21. }
  22. num = MaxInd(arr, i, len, max, index);
  23. printf("%d--",num);
  24. if(len>0){
  25. temp=arr[len-1];
  26. arr[len-1]=arr[num];
  27. arr[num]=temp;
  28. for(int j=0; j<6; j++)
  29. printf("%d ",arr[j]);
  30. printf("\n");
  31. }
  32. return SelectionSort(arr,len-1);
  33. }
  34. int main(void){
  35. int arr[6] = {1,4,3,7,9,2};
  36. int len=sizeof(arr)/sizeof(arr[0]);
  37. int var=SelectionSort(arr, len);
  38. printf("final index is: %d\n",var);
  39. for(int j=0; j<6; j++)
  40. printf("%d ",arr[j]);
  41. printf("\n");
  42. }
Success #stdin #stdout 0s 4552KB
stdin
Standard input is empty
stdout
4--1 4 3 7 2 9 
3--1 4 3 2 7 9 
1--1 2 3 4 7 9 
2--1 2 3 4 7 9 
1--1 2 3 4 7 9 
0--1 2 3 4 7 9 
0--final index is: 0
1 2 3 4 7 9