indexed bubble sort funktion
Hej allesammen,Jeg skal aendre nedenstaaende prgram og lave en indexed bubble sort funktion.
Det skal aendres ved hjaelp af foelgende data:
void indexedbubblesort (float valuearray [], int indexarray[], int n)
valuearray - indeholder input til array
index- indeholder indices til value array
int n- indeholder antal elementer i arrays
Er der en der kan se hvordan de kan aendres og opfylde ovenstaaende betingelser?
Paa forhaand tak!
#include "iostream.h"
#include "time.h"
#include "stdlib.h"
#include "stdio.h"
// function prototypes
void bubbleSort(float valuearray[], int n) ;
void main()
{
// randomize by time
srand( (unsigned)time( NULL ) );
// vars used
int i, n = 10;
float *array;
// alloc vars
array = new float[n];
// test alloc
if( array == 0 )
{
cout << "alloc failed" << endl;
return;
}
// generate number between 0.0 and 100.0
for( i = 0; i<n; i++ )
{
array[i] = (rand()%1000)*0.1f;
}
// cout unsorted
cout << "Unsorted numbers:" << endl<< endl;
for( i = 0; i<n; i++ )
{
cout << array[i] << " ";
}
//function call
bubbleSort(array, n);
// cout sorted
cout <<endl<<endl<< "Sorted numbers:" <<endl<<endl;
for( i = 0; i<n; i++ )
{
cout << array[i] << " ";
}
cout << endl;
}
void bubbleSort(float valuearray[], int n)
{
bool exchanges;
do {
exchanges = false; // assume no exchanges
for (int i=0; i<n-1; i++)
{
if (valuearray[i] > valuearray[i+1])
{
float temp = valuearray[i];
valuearray[i] = valuearray[i+1];
valuearray[i+1] = temp;
exchanges = true; // after exchange, must look again
}
}
} while (exchanges);
}