//HW_CH02_89
#include<iostream>
using namespace std;
#define N 10
void BubbleSort(int s[N]) {
int temp = 0;
for (int i = 0; i < N-1; i++) {
for (int j = 0; j < N -1- i; j++) {
if (s[j] > s[j + 1]) {
temp = s[j];
s[j] = s[j + 1];
s[j + 1] = temp;
}
}
}
}
int main() {
int array1[N];
char c;
int i = 0;
for (i = 0; i < N; i++) {
cin >> array1[i];
}
cout << "before sort:" << endl;
for (i= 0; i < N; i++) {
cout << array1[i] << " ";
}
cout << endl;
BubbleSort(array1);
cout << "after sort:" << endl;
for ( i = 0; i <N ; i++) {
cout << array1[i] << " ";
}
return 0;
}
测评结果
、
遇到的问题:
经查询
即出现越界,数组容量不够,于是
//HW_CH02_89
#include<iostream>
using namespace std;
#define N 10
#define m 100
void BubbleSort(int s[m]) {
int temp = 0;
for (int i = 0; i <= N-1; i++) {
for (int j = 0; j <= N -1- i; j++) {
if (s[j] > s[j + 1]) {
temp = s[j];
s[j] = s[j + 1];
s[j + 1] = temp;
}
}
}
}
int main() {
int array1[m];
char c;
int i = 0;
for (i = 0; i < N; i++) {
cin >> array1[i];
}
cout << "before sort:" << endl;
for (i= 0; i < N; i++) {
cout << array1[i] << " ";
}
cout << endl;
BubbleSort(array1);
cout << "after sort:" << endl;
for ( i = 0; i <N ; i++) {
cout << array1[i] << " ";
}
return 0;
}
虽然说解决了异常,但是依旧没能达到理想的效果,
最大的那个数无法存储?
调试之后,是冒泡排序函数的问题
后来多看了几篇冒泡排序的文章
发现自己比较的次数多了
也就是,10个数,比较9躺,
也就是说,大二了,还不会冒泡,嘶,难办