| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 223 人关注过本帖
标题:冒泡(Bubble)+插入(Insertion)排序(刚学会,出来晒晒)
取消只看楼主 加入收藏
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
结帖率:94.64%
收藏
已结贴  问题点数:2 回复次数:0 
冒泡(Bubble)+插入(Insertion)排序(刚学会,出来晒晒)
(插入排序)
程序代码:
#include <stdio.h>

void insertion_sort(int * data, int begin, int end) {
    int i, j, k, temp;
    for(i = begin + 1; i <= end; i++) {
        for(j = 0; j < i; j++)
            if(data[j] > data[i])
                break;
        temp = data[i];
        for(k = i; k > j; k--)
            data[k] = data[k - 1];
        data[j] = temp;
    }
}

int main(void) {
    int array[10], i;
    for(i = 0; i < 10; i++)
        scanf("%d", array + i);
    insertion_sort(array, 0, 9);
    for(i = 0; i < 10; i++)
        printf("%d ", array[i]);
    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册


(冒泡排序)
程序代码:
#include <stdio.h>

void swap(int * p1, int * p2) {
    int temp = *p1;
    *p1 = *p2;
    *p2 = temp;
}

void bubble_sort(int * data, int begin, int end) {
    int i, j, flag = 1;
    for(i = begin; i < end - begin && flag; i++) {
        flag = 0;
        for(j = begin; j < end - begin - i; j++) {
            if(data[j] > data[j + 1]) {
                swap(data + j, data + j + 1);
                flag = 1;
            }
        }
    }
}

int main(void) {
    int array[10], i;
    for(i = 0; i < 10; i++)
        scanf("%d", array + i);
    bubble_sort(array, 0, 9);
    for(i = 0; i < 10; i++)
        printf("%d ", array[i]);
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册


这样的算法算是最好的吗?请高手指教一下,谢谢!

[ 本帖最后由 lz1091914999 于 2011-6-11 16:03 编辑 ]
2011-06-11 15:55
快速回复:冒泡(Bubble)+插入(Insertion)排序(刚学会,出来晒晒)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021297 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved