C Programming Tutorial
#include <stdio.h>
int findMin(int *a, int startPos,int endPos);
void display(int *a,int len);
void SWAP(int *p, int *q);
void selection_sort(int*a,int arrLen);
int main(){
int a[]={3, 6, 1, 8, 4, 5};//{-2,11,10,-1,22,55,44,33};
int arrLen = sizeof(a)/sizeof(a[0]);
display(a,arrLen);
selection_sort(a,arrLen);
display(a,arrLen);
return 0;
}
void selection_sort(int*a,int arrLen){
for (int i=0; i < arrLen;i++){
int minIndex = findMin(a,i,arrLen);
SWAP(&a[minIndex],&a[i]);
}
}
void SWAP(int *p, int *q){
int t= *p;
*p=*q;
*q=t;
}
void display(int *a,int len){
printf("\n %d,%d\n",sizeof(a),sizeof(a[0]));
for (int i=0; i < len;i++)
printf("%d ",a[i]);
printf("\n");
}
int findMin(int *a, int startPos,int endPos){
int min=a[startPos],minIndex=startPos;
for(int i=startPos; i <endPos; i++){
if(a[i]<min){
min=a[i]; minIndex=i;
}
}
return minIndex;
}
ADS