By Sergey Skudaev
Precondition: the function accepts an unsorted array and integer size that is the size of the array:
Post condition: Sorted array
#include "stdafx.h" #include<iostream> using namespace std; int* BubbleSort ( int size, int array[]); void exchange (int array[], int a, int b); int main(int argc, char* argv[]) { int array[10]; int i=0; while (i < 10) { cout<<"Please enter a number."<<endl; cin>>array[i]; i++; } cout<<"Unsorted array:"<<endl; for(int k=0; k<10;k++) cout<<array[k]; cout<<endl; //call the sorting function int* arr=BubbleSort (i,array); cout<<"Sorted array:"<<endl; for(int n=0; n<10;n++) cout<<arr[n]; cout<<endl; int hold = 1; cin >> hold; return 0; }
int* BubbleSort ( int size, int array[]) { int current = 0; int* pointer; bool sorted = false; pointer=array; while (( current < size)&&(sorted == false)) { int walker = size-1; sorted = true; while (walker > current) { if ( array[walker] < array[walker - 1] ) { sorted = false; exchange( array, walker, walker-1); } walker--; } current++; } return pointer; } void exchange (int array[], int a, int b) { int temp=array[a]; array[a]=array[b]; array[b]=temp; }