Bubble Sort, Insertion Sort and Selection Sort
Oct 18, 2016 at 2:08am UTC
So I'm new to C++ and am needing a little help. All feedback is welcome.
I am suppose to create an AList object and then use that AList object to make the following method calls in order:
Read
Print
BubbleSort
Print
Read
Print
InsertionSort
Print
Read
Print
SelectionSort
Print
This is what I have so far:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
#include <iostream>
using namespace std;
const int MLS = 50;
typedef int element;
const element SENTINEL = -1;
class AList {
private :
element items [MLS];
int size;
void Swap(int pos1, int pos2);
int Read_int();
element Read_element();
public :
void Read();
void Print();
void BubbleSort();
void InsertionSort();
void SelectionSort();
};
int main() {
AList B;
B.Read();
B.Print();
B.BubbleSort();
B.InsertionSort();
B.SelectionSort();
}
void AList::Read() {
element userval;
cout<< "Enter elements : " ;
while ((userval!=SENTINEL) && (size<MLS)) {
items [size] = userval;
size ++;
}
}
void AList::Print(){
for (int i=0;i<size;i++)
cout<< items[i]<<endl;
}
void AList::BubbleSort() {
for (int i=0; size-1; i++){
for (int j=0; j<size-1-i; j++)
if (items[j]>items[j+1])
Swap (j, j+1);
else
;
}
}
void AList::Swap(int pos1, int pos2) {
element temp;
temp = items[pos2];
items[pos2]=items[pos1];
items[pos1]=temp;
}
void AList::InsertionSort() {
int j;
bool done;
for (int i=1; i<size; size++)
j=i;
done = false ;
while ((j>=1) && (!done))
if (items[j] < items[j-1]) {
Swap (j,j-1);
j--;
}
else
done=true ;
}
void AList::SelectionSort() {
int maxpos;
for (int i = size-1; i<0; i--) {
maxpos = 0;
for (int j=1; j<=i; j++)
if (items[j] < items[maxpos])
maxpos = j;
else ;
Swap(maxpos, i);
}
}
I don't think that I'm doing it in the order that needs to be done and I'm also having a problem printing everything. Please help!
Last edited on Oct 18, 2016 at 2:09am UTC
Topic archived. No new replies allowed.