I tried to store index while sorting using merge sort and looks like after the modification its not even sorting correctly
Please help me find where i am going wrong.
void merge(int a[][2],int start,int middle ,int end)
{
int size1 = middle-start +1;
int size2 = end-middle;
int i,j;
int k =start;
int L[size1][2];
int R[size2][2];
//int *L = (int *)malloc(sizeof(int)*size1);
//int *R = (int *)malloc(sizeof(int)*size2);
// copy values from main array to temp arrays
for(i=0 ; i<size1; i++)
{
L[i][1] = a[i+start][1];
L[i][0] = a[i+start][0];
}
for(j=0 ; j<size2 ; j++)
{
R[j][1] = a[j+middle+1][1];
R[j][0] = a[j+middle+1][0];
}
i=0;
j=0;
while(i<size1 && j<size2)
{
if(L[i] < R[j])
{
a[k][1] = L[i][1];
a[k][0] = L[i][0];
k++;
i++;
}
else{
a[k][1] = R[j][1];
a[k][0] = R[j][0];
k++;
j++;
}
}
while(i<size1)
{
a[k][1] = L[i][1];
a[k][0] = L[i][0];
i++;
k++;
}
while(j<size2)
{
a[k][1] = R[j][1];
a[k][0] = R[j][0];
k++;
j++;
}
}
void mergeSort(int a[][2], int start , int end)
{
if(start < end)
{
int middle = start + (end - start) /2;
mergeSort(a,start, middle);
mergeSort(a,middle+1,end);
merge(a,start,middle,end);
}
}
int main()
{
int array[10][2] = {{0,55},{1,3},{2,4},{3,5},{4,6},{5,7},{6,8},{7,9},{8,10},{9,2}};
int i;
int len = sizeof(array)/sizeof(array[0]) - 1;
for(i = 0 ;i <= 9; i++)
printf("%d",array[i][1]);
mergeSort(array,0,9);
printf ( "\nArray after sorting:\n") ;
printf ( "\nindex after sorting:\n") ;
for(i = 0 ;i <= 9; i++)
printf("%d",array[i][0]);
printf ( "\nArray after sorting:\n") ;
for(i = 0 ;i <= 9; i++)
printf("%d",array[i][1]);
}
SSB0cmllZCB0byBzdG9yZSBpbmRleCB3aGlsZSBzb3J0aW5nIHVzaW5nIG1lcmdlIHNvcnQgYW5kIGxvb2tzIGxpa2UgYWZ0ZXIgdGhlIG1vZGlmaWNhdGlvbiBpdHMgbm90IGV2ZW4gc29ydGluZyBjb3JyZWN0bHkKUGxlYXNlIGhlbHAgbWUgZmluZCB3aGVyZSBpIGFtIGdvaW5nIHdyb25nLgoKCnZvaWQgbWVyZ2UoaW50IGFbXVsyXSxpbnQgc3RhcnQsaW50IG1pZGRsZSAsaW50IGVuZCkKewppbnQgc2l6ZTEgPSBtaWRkbGUtc3RhcnQgKzE7CmludCBzaXplMiA9IGVuZC1taWRkbGU7CmludCBpLGo7CmludCBrID1zdGFydDsKaW50IExbc2l6ZTFdWzJdOwppbnQgUltzaXplMl1bMl07Ci8vaW50ICpMID0gKGludCAqKW1hbGxvYyhzaXplb2YoaW50KSpzaXplMSk7Ci8vaW50ICpSID0gKGludCAqKW1hbGxvYyhzaXplb2YoaW50KSpzaXplMik7CgovLyBjb3B5IHZhbHVlcyBmcm9tIG1haW4gYXJyYXkgdG8gdGVtcCBhcnJheXMKZm9yKGk9MCA7IGk8c2l6ZTE7IGkrKykKewogTFtpXVsxXSA9IGFbaStzdGFydF1bMV07CiBMW2ldWzBdID0gYVtpK3N0YXJ0XVswXTsKfQpmb3Ioaj0wIDsgajxzaXplMiA7IGorKykKewogUltqXVsxXSA9IGFbaittaWRkbGUrMV1bMV07CiBSW2pdWzBdID0gYVtqK21pZGRsZSsxXVswXTsKfQoKaT0wOwpqPTA7CndoaWxlKGk8c2l6ZTEgJiYgajxzaXplMikKewogaWYoTFtpXSA8IFJbal0pCiAgIHsKICAgYVtrXVsxXSA9IExbaV1bMV07CiAgIGFba11bMF0gPSBMW2ldWzBdOwogICBrKys7CiAgIGkrKzsKICAgfSAKIGVsc2V7CiAgYVtrXVsxXSA9IFJbal1bMV07CiAgIGFba11bMF0gPSBSW2pdWzBdOwogIGsrKzsKICBqKys7CiAgIH0KfQp3aGlsZShpPHNpemUxKQp7CmFba11bMV0gPSBMW2ldWzFdOwphW2tdWzBdID0gTFtpXVswXTsKaSsrOwprKys7Cn0Kd2hpbGUoajxzaXplMikKewphW2tdWzFdID0gUltqXVsxXTsKYVtrXVswXSA9IFJbal1bMF07CmsrKzsKaisrOwp9Cgp9CnZvaWQgbWVyZ2VTb3J0KGludCBhW11bMl0sIGludCBzdGFydCAsIGludCBlbmQpCnsKaWYoc3RhcnQgPCBlbmQpCnsKaW50IG1pZGRsZSA9IHN0YXJ0ICsgKGVuZCAtIHN0YXJ0KSAvMjsKbWVyZ2VTb3J0KGEsc3RhcnQsIG1pZGRsZSk7Cm1lcmdlU29ydChhLG1pZGRsZSsxLGVuZCk7Cm1lcmdlKGEsc3RhcnQsbWlkZGxlLGVuZCk7Cn0KfQppbnQgbWFpbigpCnsKaW50IGFycmF5WzEwXVsyXSA9IHt7MCw1NX0sezEsM30sezIsNH0sezMsNX0sezQsNn0sezUsN30sezYsOH0sezcsOX0sezgsMTB9LHs5LDJ9fTsKaW50IGk7CmludCBsZW4gPSBzaXplb2YoYXJyYXkpL3NpemVvZihhcnJheVswXSkgLSAxOwpmb3IoaSA9IDAgO2kgPD0gOTsgaSsrKQpwcmludGYoIiVkIixhcnJheVtpXVsxXSk7Cm1lcmdlU29ydChhcnJheSwwLDkpOwpwcmludGYgKCAiXG5BcnJheSBhZnRlciBzb3J0aW5nOlxuIikgOwpwcmludGYgKCAiXG5pbmRleCBhZnRlciBzb3J0aW5nOlxuIikgOwpmb3IoaSA9IDAgO2kgPD0gOTsgaSsrKQpwcmludGYoIiVkIixhcnJheVtpXVswXSk7CnByaW50ZiAoICJcbkFycmF5IGFmdGVyIHNvcnRpbmc6XG4iKSA7CmZvcihpID0gMCA7aSA8PSA5OyBpKyspCnByaW50ZigiJWQiLGFycmF5W2ldWzFdKTsKfQo=
Main.java:1: error: class, interface, or enum expected
I tried to store index while sorting using merge sort and looks like after the modification its not even sorting correctly
^
Main.java:8: error: class, interface, or enum expected
int size2 = end-middle;
^
Main.java:9: error: class, interface, or enum expected
int i,j;
^
Main.java:10: error: class, interface, or enum expected
int k =start;
^
Main.java:11: error: class, interface, or enum expected
int L[size1][2];
^
Main.java:12: error: class, interface, or enum expected
int R[size2][2];
^
Main.java:17: error: class, interface, or enum expected
for(i=0 ; i<size1; i++)
^
Main.java:17: error: class, interface, or enum expected
for(i=0 ; i<size1; i++)
^
Main.java:17: error: class, interface, or enum expected
for(i=0 ; i<size1; i++)
^
Main.java:20: error: class, interface, or enum expected
L[i][0] = a[i+start][0];
^
Main.java:21: error: class, interface, or enum expected
}
^
Main.java:22: error: class, interface, or enum expected
for(j=0 ; j<size2 ; j++)
^
Main.java:22: error: class, interface, or enum expected
for(j=0 ; j<size2 ; j++)
^
Main.java:25: error: class, interface, or enum expected
R[j][0] = a[j+middle+1][0];
^
Main.java:26: error: class, interface, or enum expected
}
^
Main.java:29: error: class, interface, or enum expected
j=0;
^
Main.java:30: error: class, interface, or enum expected
while(i<size1 && j<size2)
^
Main.java:35: error: class, interface, or enum expected
a[k][0] = L[i][0];
^
Main.java:36: error: class, interface, or enum expected
k++;
^
Main.java:37: error: class, interface, or enum expected
i++;
^
Main.java:38: error: class, interface, or enum expected
}
^
Main.java:41: error: class, interface, or enum expected
a[k][0] = R[j][0];
^
Main.java:42: error: class, interface, or enum expected
k++;
^
Main.java:43: error: class, interface, or enum expected
j++;
^
Main.java:44: error: class, interface, or enum expected
}
^
Main.java:49: error: class, interface, or enum expected
a[k][0] = L[i][0];
^
Main.java:50: error: class, interface, or enum expected
i++;
^
Main.java:51: error: class, interface, or enum expected
k++;
^
Main.java:52: error: class, interface, or enum expected
}
^
Main.java:56: error: class, interface, or enum expected
a[k][0] = R[j][0];
^
Main.java:57: error: class, interface, or enum expected
k++;
^
Main.java:58: error: class, interface, or enum expected
j++;
^
Main.java:59: error: class, interface, or enum expected
}
^
Main.java:67: error: class, interface, or enum expected
mergeSort(a,start, middle);
^
Main.java:68: error: class, interface, or enum expected
mergeSort(a,middle+1,end);
^
Main.java:69: error: class, interface, or enum expected
merge(a,start,middle,end);
^
Main.java:70: error: class, interface, or enum expected
}
^
Main.java:75: error: class, interface, or enum expected
int i;
^
Main.java:76: error: class, interface, or enum expected
int len = sizeof(array)/sizeof(array[0]) - 1;
^
Main.java:77: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
^
Main.java:77: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
^
Main.java:77: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
^
Main.java:79: error: class, interface, or enum expected
mergeSort(array,0,9);
^
Main.java:80: error: class, interface, or enum expected
printf ( "\nArray after sorting:\n") ;
^
Main.java:81: error: class, interface, or enum expected
printf ( "\nindex after sorting:\n") ;
^
Main.java:82: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
^
Main.java:82: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
^
Main.java:82: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
^
Main.java:84: error: class, interface, or enum expected
printf ( "\nArray after sorting:\n") ;
^
Main.java:85: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
^
Main.java:85: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
^
Main.java:85: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
^
Main.java:87: error: class, interface, or enum expected
}
^
53 errors