Selection Sort/Bubble Sort/Insertion Sort

I have a code that doesn't have any compile issues. However, when I try to run it, it's not working. Any help would be great, I am fairly new to this.
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
  #include <iostream>
using namespace std;
/*
	
	This program will create an AList object and will then make some method calls.
	*/
	
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_element();
		
		public:
			void Read();
			void Print();
			void BubbleSort();
			void InsertionSort();
			void SelectionSort();
			
		};
		int main (){
		int a;
			AList B;
			
			B.Read();
			B.Print();
			B.BubbleSort();
			B.Print();
			
			B.Read();
			B.Print();
			B.InsertionSort();
			B.Print();
			
			B.Read();
			B.Print();
			B.SelectionSort();
			B.Print();
		}
		element Read_element() {
			element userval;
			cin>>userval;
			while (!cin.good());
			cout<<"invalid choice please enter a whole number";
			cin.clear();
			cin.ignore(80, '\n');
			cin>>userval;
			return userval;
		}
		void AList::Read() {
			//PRE: None
			//POST: the N.O. Alist is valid
			//using elements provided by the user
			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(){
			//PRE: the N.O. List is void
			//Post: the N.O. Alist is unchanged except
			//its elements are now in ascending order
			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() {
			//Pre: the N.O. Alist is valid
			//Post: the N.O. Alist is unchanged, except that
			//its elements are now in ascending order
			
			int j;
			bool done;
			
			for (int i = 1; i<size; i++) {
				j=i;
				done=false;
				while ((j>=1)&&(!done))
				if (items[j] < items[j-1]){
				
				Swap(j, j-1);
				j-=1;
			}
			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);
				}
			}
Topic archived. No new replies allowed.