黑马程序员技术交流社区

标题: 冒泡排序法(由小到大) [打印本页]

作者: wx_hg1q2t6v    时间: 2014-12-14 22:30
标题: 冒泡排序法(由小到大)
#include <stdio.h>
int  main()
{
        int x[8];
        int i,j,s;
        for(i=0;i<8;i++)
        scanf("%d",&x[i]);
        for(i=0;i<7;i++)
        {
                for(j=i+1;j<8;j++)
                {
                        if(x[i]>x[j])
                        {
                                s=x[i];x[i]=x[j];x[j]=s;
                        }
                }
        }
        for(i=0;i<8;i++)
        printf("%4d",x[i]);
}
作者: 谁想去飞    时间: 2014-12-14 23:38
写得 好                                            
作者: Xwoder    时间: 2014-12-15 09:42
再好看点就好了
作者: se7ven    时间: 2014-12-15 13:37
谁想去飞 发表于 2014-12-14 23:38
写得 好

算法是对的,但是从效率上来说,还有优化空间,,这哥们肯定没有上过传智的基础班……
作者: se7ven    时间: 2014-12-15 14:19
标题:
本帖最后由 se7ven 于 2014-12-15 14:20 编辑

h奥
作者: se7ven    时间: 2014-12-15 14:34
#include <stdio.h>
#define N 5  //可以任意改变你要比较的个数

int  main()
{
    int a[N];
    for(int i=0;i<N;i++){
        printf("请输入第%d个数:",i+1);
        scanf("%d",&a[i]);
    }
   
    for(int i=0;i<N-1;i++){
        for(int j=0;j<N-1-i;j++){
            if(a[j]>a[j+1]){
                int temp=a[j+1];
                a[j+1]=a[j];
                a[j]=temp;
            
            }
     
        }
    }
//来自传智播客
    for(int i=0;i<N;i++){
        printf("%d\t",a[i]);

    }
    printf("\n");
    return 0;
}
作者: se7ven    时间: 2014-12-15 14:35
哥们,你那是选择排序,,这是冒泡……
作者: 邓明    时间: 2014-12-15 16:12
se7ven 发表于 2014-12-15 14:35
哥们,你那是选择排序,,这是冒泡……

难怪看起来那么奇怪了
作者: 邓明    时间: 2014-12-15 16:17
请写一下注释和逻辑吧,方便大家一起学习
作者: wx_hg1q2t6v    时间: 2014-12-15 17:44
邓明 发表于 2014-12-15 16:17
请写一下注释和逻辑吧,方便大家一起学习

额  下次注意,没好习惯
作者: 谁想去飞    时间: 2014-12-16 12:10
顶                                                                             
作者: se7ven    时间: 2014-12-16 14:04
今天面试黑马,过了,嘿嘿……




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2