PROGRAMMING LANGUAGE MUST BE IN C PLEASE USE BUBBLE SORT FOR

PROGRAMMING LANGUAGE MUST BE IN C. PLEASE USE BUBBLE SORT FOR SORTING. PLEASE EXPLAIN WHAT YOUR CODE DOES.

DATA DISPLAY 10 NUMBERS PER LINE.

ARRAY INPUT:

Sometimes we\'re given an array of data that we need to be able to view in sorted order while leaving the original order unchanged. In such cases we could sort the data set, but then we would lose the information contained in the original order. We need a better solution. One solution might be to create a duplicate of the data set, perhaps make a copy of one array into another, and then to sort the second array. This would allow us to view the data both in the original order and in the sorted order This might be fine in many cases, but if the data set is large and memory limited (say, perhaps, in an embedded system), this solution might not be practicable. A more elegant solution is to sort the array indirectly, i.e., by using pointers. With this technique we wouldn\'t change the positions of the actual data items in the array; we would only change the values of the pointers that point into the array. Nevertheless, when this type of sorting is performed, we still will be able to access the data both in its original order, by using the original array, but also in sorted order, by using the array of pointers Here are some diagrams that illustrate the idea

Solution

#include<stdio.h>


void swap(int* a,int* b)//to swap values in array
{
int t;
t =*a;
*a = *b;
*b = t;
}
void sort(int* array, int count)//Buuble sort
{

int i, j;

for(i = 0; i < count-1; ++i){

for(j=0; j<count-1-i; ++j){

if(*(array+j) >*(array+j+1)){
swap((array+j),(array+(j+1)));


  
}
}
}
}

void DisplayDataArray(int array[], int count)//function to display data array
{
int c=0;
int i;
for ( i = 0; i < count; ++i)
{
if(c==10)
{
c=0;
printf(\"\ \"); }
else
{
printf(\"%d\\t\",array[i]);
c++;
}
}
}

void DisplayDPointerArray(int* array, int count)//function to display pointer array
{
int c=0;int i;
for ( i = 0; i < count; ++i)
{
if(c==10)
{
c=0;
printf(\"\ \");
}
else
{
printf(\"%d\\t\",*array);
array++;
c++;
}
}
}

int main(int argc, char const *argv[])
{
int dataArray[150]={71, 1899, 272, 1694, 1697, 296, 722, 12, 2726, 1899,
1374, 1541, 1923, 1904, 1083, 1462, 2981, 1929, 304, 2550,
1059, 1860, 1963, 516, 647, 1607, 590, 157, 2351, 753,
2455, 349, 79, 1634, 368, 1992, 2401, 357, 1478, 1601,
239, 365, 2453, 2283, 2432, 1223, 2739, 2487, 2714, 1391,
1972, 2805, 1504, 413, 1647, 2750, 44, 64, 934, 1008,
1429, 1427, 315, 2499, 1620, 1816, 2441, 2557, 2188, 531,
1514, 2825, 449, 265, 2064, 1022, 34, 1864, 1861, 1516,
1465, 2327, 398, 2769, 563, 194, 429, 942, 1795, 223,
2406, 780, 780, 61, 133, 195, 495, 1774, 1934, 2171,
433, 1417, 292, 324, 2929, 1597, 1470, 764, 593, 891,
679, 47, 1778, 2532, 1862, 2636, 549, 2923, 2270, 1101,
1607, 2395, 726, 1111, 892, 1988, 555, 379, 224, 298,
1660, 2203, 2385, 2159, 2574, 705, 2513, 1755, 313, 173,
148, 2449, 259, 1006, 1221, 2259, 2020, 1484, 2717, 2400};//initialise data array
int *pointerArray[150];
int count=150;
int i;
for ( i = 0; i < count; ++i)//initialise pointer array
{
pointerArray[i]=&dataArray[i];
}

printf(\"Unsorted Data array is \ \");
DisplayDataArray(dataArray,count);

sort(dataArray,count);
printf(\"\ Sorted Data array is \ \");

DisplayDataArray(dataArray,count);
sort(*pointerArray,count);
printf(\"\ Sorted Pointer array is \ \");

DisplayDataArray(*pointerArray,count);

return 0;
}

  

============================================================

akshay@akshay-Inspiron-3537:~/Chegg$ gcc bubblesort.c
akshay@akshay-Inspiron-3537:~/Chegg$ ./a.out
Unsorted Data array is
71   1899   272   1694   1697   296   722   12   2726   1899  
1541   1923   1904   1083   1462   2981   1929   304   2550   1059  
1963   516   647   1607   590   157   2351   753   2455   349  
1634   368   1992   2401   357   1478   1601   239   365   2453  
2432   1223   2739   2487   2714   1391   1972   2805   1504   413  
2750   44   64   934   1008   1429   1427   315   2499   1620  
2441   2557   2188   531   1514   2825   449   265   2064   1022  
1864   1861   1516   1465   2327   398   2769   563   194   429  
1795   223   2406   780   780   61   133   195   495   1774  
2171   433   1417   292   324   2929   1597   1470   764   593  
679   47   1778   2532   1862   2636   549   2923   2270   1101  
2395   726   1111   892   1988   555   379   224   298   1660  
2385   2159   2574   705   2513   1755   313   173   148   2449  
1006   1221   2259   2020   1484   2717   2400  
Sorted Data array is
12   34   44   47   61   64   71   79   133   148  
173   194   195   223   224   239   259   265   272   292  
298   304   313   315   324   349   357   365   368   379  
413   429   433   449   495   516   531   549   555   563  
593   647   679   705   722   726   753   764   780   780  
892   934   942   1006   1008   1022   1059   1083   1101   1111  
1223   1374   1391   1417   1427   1429   1462   1465   1470   1478  
1504   1514   1516   1541   1597   1601   1607   1607   1620   1634  
1660   1694   1697   1755   1774   1778   1795   1816   1860   1861  
1864   1899   1899   1904   1923   1929   1934   1963   1972   1988  
2020   2064   2159   2171   2188   2203   2259   2270   2283   2327  
2385   2395   2400   2401   2406   2432   2441   2449   2453   2455  
2499   2513   2532   2550   2557   2574   2636   2714   2717   2726  
2750   2769   2805   2825   2923   2929   2981  
Sorted Pointer array is
12   34   44   47   61   64   71   79   133   148  
173   194   195   223   224   239   259   265   272   292  
298   304   313   315   324   349   357   365   368   379  
413   429   433   449   495   516   531   549   555   563  
593   647   679   705   722   726   753   764   780   780  
892   934   942   1006   1008   1022   1059   1083   1101   1111  
1223   1374   1391   1417   1427   1429   1462   1465   1470   1478  
1504   1514   1516   1541   1597   1601   1607   1607   1620   1634  
1660   1694   1697   1755   1774   1778   1795   1816   1860   1861  
1864   1899   1899   1904   1923   1929   1934   1963   1972   1988  
2020   2064   2159   2171   2188   2203   2259   2270   2283   2327  
2385   2395   2400   2401   2406   2432   2441   2449   2453   2455  
2499   2513   2532   2550   2557   2574   2636   2714   2717   2726  
2750   2769   2805   2825   2923   2929   2981  

PROGRAMMING LANGUAGE MUST BE IN C. PLEASE USE BUBBLE SORT FOR SORTING. PLEASE EXPLAIN WHAT YOUR CODE DOES. DATA DISPLAY 10 NUMBERS PER LINE. ARRAY INPUT: Someti
PROGRAMMING LANGUAGE MUST BE IN C. PLEASE USE BUBBLE SORT FOR SORTING. PLEASE EXPLAIN WHAT YOUR CODE DOES. DATA DISPLAY 10 NUMBERS PER LINE. ARRAY INPUT: Someti
PROGRAMMING LANGUAGE MUST BE IN C. PLEASE USE BUBBLE SORT FOR SORTING. PLEASE EXPLAIN WHAT YOUR CODE DOES. DATA DISPLAY 10 NUMBERS PER LINE. ARRAY INPUT: Someti

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site