diff --git a/sorting/BubbleSort.c b/sorting/BubbleSort.c index 15827f07..e54cb4e6 100644 --- a/sorting/BubbleSort.c +++ b/sorting/BubbleSort.c @@ -1,40 +1,62 @@ +//sorting of linked list using selection sort #include -#include - -int main(){ - - int* ARRAY=NULL; - int ContinueFilling=1; //This is to know if we should continue filling our array - int ARRAY_LENGTH=0,isSorted=0,i,TEMPORARY_ELEMENT; - - //This code part is for filling our array - while(ContinueFilling){ - printf("Enter the value number %d \n",ARRAY_LENGTH+1); - ARRAY=(int *)realloc(ARRAY,sizeof(int)*(ARRAY_LENGTH)); - scanf("%d",&ARRAY[ARRAY_LENGTH]); - ARRAY_LENGTH+=1; - printf("would you enter an other value (1:Continue/0:Sort the actual array)?\n"); - scanf("%d",&ContinueFilling); +/*Displays the array, passed to this method*/ +void display(int arr[], int n){ + + int i; + for(i = 0; i < n; i++){ + printf("%d ", arr[i]); } + + printf("\n"); + +} - //Then we sort it using Bubble Sort.. +/*Swap function to swap two values*/ +void swap(int *first, int *second){ + + int temp = *first; + *first = *second; + *second = temp; + +} - while(!isSorted){ //While our array's not sorted - isSorted=1; //we suppose that it's sorted - for(i=0;iARRAY[i+1]){ // if the two elements aren't sorted - isSorted=0; //it means that the array is not sorted - TEMPORARY_ELEMENT=ARRAY[i]; //and we switch these elements using TEMPORARY_ELEMENT - ARRAY[i]=ARRAY[i+1]; - ARRAY[i+1]=TEMPORARY_ELEMENT; +/*This is where the sorting of the array takes place + arr[] --- Array to be sorted + size --- Array Size + */ +void bubbleSort(int arr[], int size){ + + for(int i=0; iarr[j+1]) { + swap(&arr[j], &arr[j+1]); } } } - //And we display it - for(i=0;i