
展开全部
#include<stdio.h>
void main()
{
int a[8]={6,8,5,4,6,9,3,2};
int i,j;
for(i=1;i<=7;i++)
//第一重循环代表,要进行下面的循环七次,依次选择最大数到后面去
for(j=0;j<8-i;j++)
//代表每次从还未排好序的开始出发,寻找大数放到后面比较去,最终选出较大数
{
if(a[j]>a[j+1])
{
int temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
for(i=0;i<8;i++)
printf("%d ",a[i]);
return ;
}
void main()
{
int a[8]={6,8,5,4,6,9,3,2};
int i,j;
for(i=1;i<=7;i++)
//第一重循环代表,要进行下面的循环七次,依次选择最大数到后面去
for(j=0;j<8-i;j++)
//代表每次从还未排好序的开始出发,寻找大数放到后面比较去,最终选出较大数
{
if(a[j]>a[j+1])
{
int temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
for(i=0;i<8;i++)
printf("%d ",a[i]);
return ;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个冒泡居然也能玩出这么多花样啊!!! (*^__^*) 嘻嘻
一楼整个c++,结果循环次数还整差了,二楼来个俺刚学冒泡时自悟的沉底法!!三楼的对,但那两个循环新手可能不太好理解,看看俺的原始冒泡吧,通俗易懂!!o(∩_∩)o 哈哈
#include <stdio.h>
#define N 9
void bubsort(int a[], int n)
{
int i = 0, j = 0;
int temp;
for(i = 0; i < n-1; i++)
{
for(j=i+1; j < n; j++)
{
if(a[j] < a[i])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
void main()
{
int i;
int a[N]={4, 8, 9, 5, 6, 0, 3, 2, 7};
bubsort(a, N);
for(i = 0; i < N; i++)
{
printf("%d\r\n", a[i]);
}
return;
}
一楼整个c++,结果循环次数还整差了,二楼来个俺刚学冒泡时自悟的沉底法!!三楼的对,但那两个循环新手可能不太好理解,看看俺的原始冒泡吧,通俗易懂!!o(∩_∩)o 哈哈
#include <stdio.h>
#define N 9
void bubsort(int a[], int n)
{
int i = 0, j = 0;
int temp;
for(i = 0; i < n-1; i++)
{
for(j=i+1; j < n; j++)
{
if(a[j] < a[i])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
void main()
{
int i;
int a[N]={4, 8, 9, 5, 6, 0, 3, 2, 7};
bubsort(a, N);
for(i = 0; i < N; i++)
{
printf("%d\r\n", a[i]);
}
return;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
8 5 1 1
7 7 5~ 2
6 4 7 5~
5 1 4 7
4 3 2 4
3 6 3 3
2 9 6 6
1 8* 9 8
0 2 8 9
*/
void CSort::BubbleSort( UNI32 *riArray, UNI32 riLength )
{
UNI32 iLength = riLength;
UNI32 iTemp = 0;
UNI32 iChange = 1;
while ( iChange == 1 ) //代表一轮相互间的顺序是对的,即A>B B>C C>D,那么A>D;所以后续无需交换,利用的是传递原理。一次性下来肯定是最小的冒出来
{
iChange = 0;
for ( UNI32 i = 0; i < iLength - 1; i++ )
{
if ( riArray[i] < riArray[i+1] )
{
iTemp = riArray[i];
riArray[i] = riArray[i+1];
riArray[i+1] = iTemp;
iChange = 1;
}
}
iLength--;
}
return;
}
7 7 5~ 2
6 4 7 5~
5 1 4 7
4 3 2 4
3 6 3 3
2 9 6 6
1 8* 9 8
0 2 8 9
*/
void CSort::BubbleSort( UNI32 *riArray, UNI32 riLength )
{
UNI32 iLength = riLength;
UNI32 iTemp = 0;
UNI32 iChange = 1;
while ( iChange == 1 ) //代表一轮相互间的顺序是对的,即A>B B>C C>D,那么A>D;所以后续无需交换,利用的是传递原理。一次性下来肯定是最小的冒出来
{
iChange = 0;
for ( UNI32 i = 0; i < iLength - 1; i++ )
{
if ( riArray[i] < riArray[i+1] )
{
iTemp = riArray[i];
riArray[i] = riArray[i+1];
riArray[i+1] = iTemp;
iChange = 1;
}
}
iLength--;
}
return;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
刚写的。。你看看吧。。希望可以帮到你。。
#include<iostream.h>
int main()
{
int a[8]={6,8,5,4,6,9,3,2};
int i,j,t;
for(i=0;i<8;i++)
for(j=i+1;j<8;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<8;i++)
{
if(i!=0)
cout<<" ";
cout<<a[i];
}
cout<<endl;;
return 0;
}
#include<iostream.h>
int main()
{
int a[8]={6,8,5,4,6,9,3,2};
int i,j,t;
for(i=0;i<8;i++)
for(j=i+1;j<8;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<8;i++)
{
if(i!=0)
cout<<" ";
cout<<a[i];
}
cout<<endl;;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |