C++ C++;气泡分选
嘿,我从我的课上得到了这个算法,叫做气泡排序。它在另一个内部使用两个“for”。但是,当我试图用“while”来做这件事时,它不起作用了,它们不是等价的吗C++ C++;气泡分选,c++,arrays,sorting,bubble-sort,C++,Arrays,Sorting,Bubble Sort,嘿,我从我的课上得到了这个算法,叫做气泡排序。它在另一个内部使用两个“for”。但是,当我试图用“while”来做这件事时,它不起作用了,它们不是等价的吗 void bubbleSort(int v[], int n) { // void workingBubble(int v[], int n){ int fim = n - 1; // int i, fim; int i = 0; //
void bubbleSort(int v[], int n) { // void workingBubble(int v[], int n){
int fim = n - 1; // int i, fim;
int i = 0; // for(fim=n-1; fim>0; fim--){
int aux; // for(i=0; i<fim; i++){
while (fim > 0) { // if(v[i] > v[i+1]){
while (i < fim) { // int temp = v[i];
if (v[i] > v[i + 1]) { // v[i] = v[i+1];
aux = v[i]; // v[i+1] = temp;
v[i] = v[i + 1]; // }
v[i + 1] = aux; // }
} // }
i++; // }
} //
fim--; //
}}
void bubbleSort(intv[],intn){//void workingBubble(intv[],intn){
int fim=n-1;//int i,fim;
int i=0;//对于(fim=n-1;fim>0;fim--){
int aux;//对于(i=0;i0){//如果(v[i]>v[i+1]){
而(iv[i+1]){//v[i]=v[i+1];
aux=v[i];//v[i+1]=temp;
v[i]=v[i+1];/}
v[i+1]=aux;//}
} // }
i++;//}
} //
职能指令手册--//
}}
我评论了一个在另一个旁边工作的,这样我可以比较,我认为它是一样的,但是用while而不是for
数组={10,2,8,11,5,3,27,1}
冒泡排序后的数组={2,8,10,5,3,11,1,27}
每次在内环之前将
i
重置为0:
void bubbleSort(int v[], int n) {
int fim = n - 1;
int i;
int aux;
while (fim > 0) {
i = 0;
while (i < fim) {
if (v[i] > v[i + 1]) {
aux = v[i];
v[i] = v[i + 1];
v[i + 1] = aux;
}
i++;
}
fim--;
}
}
void bubbleSort(int v[],int n){
int fim=n-1;
int i;
int aux;
而(职能指令手册>0){
i=0;
而(iv[i+1]){
aux=v[i];
v[i]=v[i+1];
v[i+1]=辅助;
}
i++;
}
职能指令手册--;
}
}
OMG,我现在看到了。我想我只是累了,看不出来。谢谢