i tried to implement it again with the fixed minimum function
it not sorting it
??
Code:
#include <stdio.h>
void recSelSort(int array[],int length);
void selSort(int array[], int i ,int length);
void swap(int num[],int i,int j);
int recFindMin(int array[], int index);
int main()
{
int array[4] = {2, 1, 3,0};
recSelSort(array,4);
printf("%d,%d,%d,%d\n", array[0],array[1],array[2],array[3]);
return 0;
}
void recSelSort(int array[],int length)
{
selSort(array,0,length);
}
// sort array from i (till i is sorted and min)
void selSort(int array[], int i ,int length)
{
if (i<length)
{
swap(array,i,recFindMin(array,i));
selSort(array,i+1,length);
}
}
int recFindMin (int array[], int index)
{
int local;
if (index == 0)
{
return array[index];
}
local = recFindMin(array, index - 1);
if (array[index] > local)
{
return local;
}
else
{
return array[index];
}
}
void swap(int num[],int i,int j)
{
int temp;
temp=num[i];
num[i]=num[j];
num[j]=temp;
}