Skip to content

Instantly share code, notes, and snippets.

@radiofreejohn
Created April 11, 2011 23:42
Show Gist options
  • Save radiofreejohn/914618 to your computer and use it in GitHub Desktop.
Save radiofreejohn/914618 to your computer and use it in GitHub Desktop.
selection sort for my numbers structures
#include <stdio.h>
#include "numbers.h" // https://gist.github.com/911872
void selectionSort(struct numbers*);
void numberSwap(struct numbers*, int, int );
int main()
{
struct numbers myNumbers = generateRandoms(2,200);
int i;
for (i = 0; i < myNumbers.size; i++)
printf("%d ", myNumbers.values[i]);
printf("\n");
selectionSort(&myNumbers);
for (i = 0; i < myNumbers.size; i++)
printf("%d ", myNumbers.values[i]);
printf("\n");
return 0;
}
void selectionSort(struct numbers *myNumbers)
{
int i, j, min;
for (i = 0; i < myNumbers->size; i++)
{
min = i;
for (j = i + 1; j < myNumbers->size; j++)
{
if (myNumbers->values[j] < myNumbers->values[min])
min = j;
}
numberSwap(myNumbers, min, i);
}
}
void numberSwap(struct numbers *myNumbers, int a, int b)
{
int temp;
temp = myNumbers->values[b];
myNumbers->values[b] = myNumbers->values[a];
myNumbers->values[a] = temp;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment