// 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; } } } }