首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于冒泡排序的有关问题!

2012-03-04 
关于冒泡排序的问题!!#includeiostream.hvoid Bubblesort(int data[],int n){int i,j,tagfor(i1,tag1

关于冒泡排序的问题!!
#include<iostream.h>
void Bubblesort(int data[],int n)
{
int i,j,tag;
for(i=1,tag=1;tag==1&&i<n;i++)
{
tag=0;
for(j=1;j<n-i;j++)
if(data[j]>data[j+1]){
data[0]=data[j];data[j]=data[j+1];data[j+1]=data[0];
tag=1;
}
}
}

int main()
{int i;
int data[9]={34,23,12,45,26,15,19,29};

Bubblesort(data,9);
for(i=0;i<9;i++)
cout<<data[i]<<" ";
cout<<endl;
return 0;
}

这是冒泡排序~~ 为什么第一数无法参加排序·~ 请指教·~


[解决办法]

C/C++ code
#include <iostream.h> void Bubblesort(int data[],int n) {     int i,j,tag;     for(i=1,tag=1;tag==1&&i <n;i++)     {         tag=0;         for(j=0;j < n-i;j++)             if(data[j]>data[j+1]){                 int temp=data[j];                data[j]=data[j+1];                data[j+1]=temp;                 tag=1;             }     } } int main() {    int i;     int data[9]={0,34,23,12,45,26,15,19,29};     Bubblesort(data,9);     for(i=0;i <9;i++)         cout << data[i] <<" ";     cout << endl;     return 0; }
[解决办法]
for(j=0;j < n-i;j++)//j=0开始
[解决办法]
#include <iostream>

using namespace std;

void Bubblesort(int data[],int n) 

int i,j,tag; 
for(i=1;i <n;i++) 
 { 
 
for(j=0;j <n-i;j++) 
if(data[j]>data[j+1])

int a;
a=data[j];
data[j]=data[j+1];
data[j+1]=a; 





int main() 
{int i; 
int data[9]={34,23,12,45,26,15,19,29}; 

Bubblesort(data,9); 
for(i=0;i <9;i++) 
cout <<data[i] <<" "; 
cout <<endl; 
system("pause");
return 0; 

你把data[0]没处理还把这个位置当中间值用.

热点排行