// software_sort.cpp
// =================
//
// DK 1.1 "Hands-On Tutorial" example from Mike Pepler, Celoxica


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void sw_init_data(unsigned char *data, unsigned int n)
{	
    unsigned int i;

    srand( (unsigned)time(NULL) );

	printf("Unsorted data:\n\n");
    for(i=0; i<n; i++)
    {
        data[i] = (unsigned char)(rand()%256);
        printf("ARRAY[%d] = %d\n", i, data[i]);
    }
}

void sw_print_data(unsigned char *data, unsigned int n)
{	
    unsigned int i;

	printf("\nSorted data:\n\n");
    for(i=0; i<n; i++)
    {
        printf("ARRAY[%d] = %d\n", i, data[i]);
    }
}

void sw_sort_data(unsigned char  *data, unsigned int n)
{	
    unsigned int i, j;
    unsigned int temp;

    for(i=0; i<n-1; i++)
    {
        for(j=i+1; j<n; j++)
        {
            if(data[i] < data[j])
            {
                temp = data[i];
                data[i] = data[j];
                data[j] = temp;
            }
        }
    }
}