#include <stdio.h>
int MaxInd(int arr[], int i, int len, int max, int index){
if(i==len)
return index;
if (arr[i]>max){
max=arr[i];
index=i;
}
index = MaxInd(arr,i+1,len,max,index);
return index;
}
int SelectionSort(int arr[], int len){
int index=0; int max=0; int i=0; int temp=0; int num=0;
if(len<0){
for(int j=0; j<len; j++)
return 0;
}
num = MaxInd(arr, i, len, max, index);
if(len>0){
temp=arr[len-1];
arr[len-1]=arr[num];
arr[num]=temp;
for(int j=0; j<6; j++)
}
return SelectionSort(arr,len-1);
}
int main(void){
int arr[6] = {1,4,3,7,9,2};
int len=sizeof(arr)/sizeof(arr[0]);
int var=SelectionSort(arr, len);
printf("final index is: %d\n",var
); for(int j=0; j<6; j++)
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgTWF4SW5kKGludCBhcnJbXSwgaW50IGksIGludCBsZW4sIGludCBtYXgsIGludCBpbmRleCl7CiAgICBpZihpPT1sZW4pCiAgICAgICAgcmV0dXJuIGluZGV4OwoKICAgIGlmIChhcnJbaV0+bWF4KXsKICAgICAgICBtYXg9YXJyW2ldOwogICAgICAgIGluZGV4PWk7CiAgICB9CiAgICAKICAgIGluZGV4ID0gTWF4SW5kKGFycixpKzEsbGVuLG1heCxpbmRleCk7CiAgICByZXR1cm4gaW5kZXg7Cn0KaW50IFNlbGVjdGlvblNvcnQoaW50IGFycltdLCBpbnQgbGVuKXsKICAgIGludCBpbmRleD0wOyBpbnQgbWF4PTA7IGludCBpPTA7IGludCB0ZW1wPTA7IGludCBudW09MDsKICAgIGlmKGxlbjwwKXsKICAgICAgICBmb3IoaW50IGo9MDsgajxsZW47IGorKykKICAgICAgICAgICAgcHJpbnRmKCJhcnJheT0lZFxuIixhcnJbal0pOwogICAgICAgIHJldHVybiAwOwogICAgfQogICAgbnVtID0gTWF4SW5kKGFyciwgaSwgbGVuLCBtYXgsIGluZGV4KTsKICAgIHByaW50ZigiJWQtLSIsbnVtKTsKICAgIGlmKGxlbj4wKXsKICAgICAgICB0ZW1wPWFycltsZW4tMV07CiAgICAgICAgYXJyW2xlbi0xXT1hcnJbbnVtXTsKICAgICAgICBhcnJbbnVtXT10ZW1wOwogICAgZm9yKGludCBqPTA7IGo8NjsgaisrKQogICAgICAgICAgICBwcmludGYoIiVkICIsYXJyW2pdKTsKICAgICAgICBwcmludGYoIlxuIik7CiAgICB9CiAgICByZXR1cm4gU2VsZWN0aW9uU29ydChhcnIsbGVuLTEpOwp9CmludCBtYWluKHZvaWQpewogICAgaW50IGFycls2XSA9IHsxLDQsMyw3LDksMn07CiAgICBpbnQgbGVuPXNpemVvZihhcnIpL3NpemVvZihhcnJbMF0pOwogICAgaW50IHZhcj1TZWxlY3Rpb25Tb3J0KGFyciwgbGVuKTsKICAgIHByaW50ZigiZmluYWwgaW5kZXggaXM6ICVkXG4iLHZhcik7CiAgICBmb3IoaW50IGo9MDsgajw2OyBqKyspCiAgICAgICAgICAgIHByaW50ZigiJWQgIixhcnJbal0pOwogICAgICAgIHByaW50ZigiXG4iKTsKfQ==