| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 626 人关注过本帖, 1 人收藏
标题:偶发现了一个四不像 排序
只看楼主 加入收藏
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
结帖率:94.72%
收藏(1)
已结贴  问题点数:20 回复次数:9 
偶发现了一个四不像 排序
#include <stdio.h>
int main(void)
{

    int a[10] = {3,2,1,5,7,4,6,9,8,2};
    int x, y, i, temp;

    for (x = 0; x < 10; x++)
    {
       for (y = 0; y < 10; y++)
       {
             if(a[x] > a[y])
             {
                temp = a[y];
                a[y] = a[x];
                a[x] = temp;
             }
        }

        for (i = 0; i < 10; i++)
             printf("%d", a[i]);
        printf("\n");
    }

    for (i = 0; i < 10; i++)
             printf("%d", a[i]);
 }
输出:9876543221




#include <stdio.h>
int main(void)
{

    int a[10] = {3,2,1,5,7,4,6,9,8,2};
    int x, y, i, temp;

    for (x = 0; x < 10; x++)
    {
       for (y = x; y < 10; y++)
       {
             if(a[x] > a[y])
             {
                temp = a[y];
                a[y] = a[x];
                a[x] = temp;
             }
        }

        for (i = 0; i < 10; i++)
             printf("%d", a[i]);
        printf("\n");
    }

    for (i = 0; i < 10; i++)
             printf("%d", a[i]);
 }
输出:1223456789

[ 本帖最后由 BlueGuy 于 2009-9-22 22:02 编辑 ]
搜索更多相关主题的帖子: 四不像 
2009-09-22 21:37
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
第二个是选择排序,没错的

      第一个能正确排序有什么道理, 莫非是一个未发现的伟大排序算法

[ 本帖最后由 BlueGuy 于 2009-9-22 22:22 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2009-09-22 22:05
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1687
专家分:4252
注 册:2007-12-27
收藏
得分:2 
回字有四种写法......

这种“排序”的一个很类似的算法是回答问路:哦,去那儿啊,往前走一公里,然后左转,走一公里,然后左转,走一公里,然后左转,走一公里。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2009-09-22 22:41
专抓你的错
Rank: 2
等 级:论坛游民
帖 子:113
专家分:22
注 册:2009-5-12
收藏
得分:2 
第一个也没错,看清楚你就明白了

C/C++算法群19472277



第19次算法竞赛http://
2009-09-23 00:24
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:2 
据我观察,头一个排序作了很多的无用功。
2009-09-23 00:41
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:2 
用TC编了BlueGuy第一个排序的动画过程。(本人觉得满意)
程序代码:
#include <stdio.h> 
#define yn 10 
#define xn 5 
 
void qk(int y) 
{ 
 int i; 
 while(y!=yn) 
   { 
    for(i=5;i<=50;i+=5) 
      { 
       gotoxy(i,y); 
       putch(' '); 
      } 
    if(y==yn-3||y==yn+3)break; 
    if(y<yn)y++; 
    else y--; 
   } 
} 
 
 
int main(void) 
{ 
 
    int a[10] = {3,2,1,5,7,4,6,9,8,2}; 
    int x,y,i,j,temp,xx,yy; 
    clrscr(); 
    gotoxy(1,yn); 
    for(i=0;i<10;i++) 
      printf("%*d",xn,a[i]); 
    sleep(1); 
 
 
 
    for (x = 0; x < 10; x++) 
    { 
       qk(yn-2); 
       gotoxy(xn*(x+1),8); 
       putch('x'); 
       gotoxy(xn*(x+1),9); 
       putch(25); 
       for (y = 0; y < 10; y++) 
       { 
      sleep(1); 
 
       qk(yn+2); 
       gotoxy(xn*(y+1),11); 
       putch(24); 
       gotoxy(xn*(y+1),12); 
       putch('y'); 
         if(a[x] > a[y]) 
             { 
           sleep(1); 
        gotoxy(xn*(x+1),yn); 
        putch(' '); 
        gotoxy(xn*(x+1),yn-3); 
        putch(a[x]+48); 
 
        gotoxy(xn*(y+1),yn); 
        putch(' '); 
        gotoxy(xn*(y+1),yn+3); 
        putch(a[y]+48); 
 
        for(i=xn*(x+1)+1,j=xn*(y+1)-1;i<=xn*(y+1);i++,j--) 
          { 
           sleep(1); 
           gotoxy(i-1,yn-3); 
           putch(' '); 
           gotoxy(i,yn-3); 
           putch(a[x]+48); 
 
           gotoxy(j+1,yn+3); 
           putch(' '); 
           gotoxy(j,yn+3); 
           putch(a[y]+48); 
 
          } 
        sleep(1); 
        qk(yn-3); 
        qk(yn+3); 
                gotoxy(xn*(x+1),yn); 
        putch(a[y]+48); 
 
        gotoxy(xn*(y+1),yn); 
        putch(a[x]+48); 
 
        temp = a[y]; 
                a[y] = a[x]; 
                a[x] = temp; 
             } 
        } 
 
    } 
   getch(); 
} 


努力—前进—变老—退休—入土
2009-09-23 01:06
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
无意中写的一个排序, 冒泡不像冒泡, 选择不像选择。
觉得有意思就发上来讨论下...

我就是真命天子,顺我者生,逆我者死!
2009-09-23 01:07
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 6楼 UserYuH
。。。。。。

我就是真命天子,顺我者生,逆我者死!
2009-09-23 01:54
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
回复 8楼 BlueGuy

   
________

努力—前进—变老—退休—入土
2009-09-23 15:08
飞天的猪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:141
注 册:2009-9-19
收藏
得分:2 
两者的目标都一样
2009-09-23 15:21
快速回复:偶发现了一个四不像 排序
数据加载中...
 
   



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

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