标题:算法导论 每日一算
取消只看楼主
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
结帖率:59.52%
已结贴  问题点数:20 回复次数:3 
算法导论 每日一算
顺序排序
#include <stdio.h>
void sort(int arg[],int n)
 {
     int i,p,m,j;
     for(i=0;i<n;i++){
         p=arg[i];
         for(j=i+1;j<n;j++){
           if(p>=arg[j]){
            m=p;
              p=arg[j];
              arg[j]=m;
           }
           arg[i]=p;
      }
     }
 }
int main(int argc, char *argv[])
{
    int num[20],i=0,j;
    printf("please insert num insert q to quit\n");
    while(scanf("%d",num+i)==1){
        i++;
    }
    sort(num,i);
    for(j=0;j<i;j++)
    printf("%d ",num[j]);
    printf("done\n");
    return 0;
}


另一个变体
#include <stdio.h>
void sort(int arg[],int n)
 {
     int i,p,j;
     for(i=0;i<n;i++){
         p=arg[i];
         for(j=i+1;j<n;j++){
           if(p>=arg[j]){
              p^=arg[j];
              arg[j]^=p;
              p=arg[j]^p;
           }
           arg[i]=p;
      }
     }
 }
int main(int argc, char *argv[])
{
    int num[20],i=0,j;
    printf("please insert num insert q to quit\n");
    while(scanf("%d",num+i)==1){
        i++;
    }
    sort(num,i);
    for(j=0;j<i;j++)
    printf("%d ",num[j]);
    printf("done\n");
    return 0;
}
针对已经排序好的插入算法
#include <stdio.h>
void sort(int arg[],int n,int m)
 {
     int i;
     if(m>=arg[n])
     arg[n+1]=m;
     else{   
         for(i=0;i<=n;i++){
         if(m<arg[i])
         break;
     }
     for(;n>=i;n--){
         arg[n+1]=arg[n];
     }
     arg[i]=m;
     }
 }
int main(int argc, char *argv[])
{
    int num[20],i=0,j;
    printf("please insert num insert q to quit\n");
    while(scanf("%d",num+i)==1){
        sort(num,i-1,num[i]);
        i++;
    }
    for(j=0;j<i;j++)
    printf("%d ",num[j]);
    printf("done\n");
    return 0;
}



搜索更多相关主题的帖子: insert please include void 算法 
2012-09-14 13:42
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
得分:0 
我在看这本书,您别把我看的太高 太牛,我是个初学者

琢磨算法原理简单,把原理用代码表示出来  对我来说 前人走过的路,我走起来还是有点艰难啊

书上的 分治算法,俺还卡着呢

别鄙视咱塞

[ 本帖最后由 zhu224039 于 2012-9-14 15:57 编辑 ]

我要成为嘿嘿的黑客,替天行道
2012-09-14 15:53
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
得分:0 
回复 6楼 pangding
电脑被人拿到外地实习 到现在还不能还我,我没东西干活啊
借了个电脑,不敢改别人的系统,虚拟机软件装上点了图标就给报错,实在是木有办法
只好读读 微机原理,看看算法导论 什么的  搞点基本功  
晚上学校停电就成单机 电脑只能用一个小时,哎  最近不是很顺啊

我要成为嘿嘿的黑客,替天行道
2012-09-14 22:06
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
得分:0 
回复 6楼 pangding
emac  是个编辑器,早摸过了,vi 也熟悉了,不过我用ubuntu自带的编辑器已经习惯了。

我要成为嘿嘿的黑客,替天行道
2012-09-14 22:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-381375-1-1.html




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

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