打印

关于冒泡排序方法讨论

[复制链接]
1703|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shenmu2012|  楼主 | 2012-9-17 09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下为冒泡排序算法的简答程序
char t,j;    //冒小泡排序法
   for(t=0;t<9;t++)
    for(j=(t+1);j<10;j++)
      if(adc_voltage[j] < adc_voltage[t])
      {      
        adc_temp = adc_voltage[t];
        adc_voltage[t] = adc_voltage[j];
        adc_voltage[j] = adc_temp;
      }

我调试了一下的,貌似很占用时间的,我单片机的主频采用默认的1MHz,想摘到实行玩该程序,到底需要花费多少时间的,这里不用考虑其他中断的影响,大伙给帮忙解决下的啊,谢谢!

相关帖子

沙发
comeon201208| | 2012-9-17 17:42 | 只看该作者
冒大泡的排序法又怎样处理呢?我查查资料的哈。。

使用特权

评论回复
板凳
figo20042005| | 2012-9-18 17:35 | 只看该作者
看你对多少个数进行排序了,排序时间是根据两个FOR循环时间决定的,你数越多,需要的时间就越多

使用特权

评论回复
地板
figo20042005| | 2012-9-18 17:35 | 只看该作者
这个你可以反汇编下算出时间来

使用特权

评论回复
5
hisong| | 2012-9-21 16:11 | 只看该作者
等高手解决吧

使用特权

评论回复
6
gaochy1126| | 2012-9-21 23:30 | 只看该作者
使用汇编 这样就可以了

使用特权

评论回复
7
vivilzb1985| | 2012-9-22 15:22 | 只看该作者
这两个for循环需要注意使用的顺序就可以了,不行的话楼主增加主频就可以了

使用特权

评论回复
8
lapeno| | 2012-9-22 16:59 | 只看该作者
为何不用快速排序?

使用特权

评论回复
9
wjzx111056| | 2012-9-23 19:13 | 只看该作者
LZ:冒泡排序算法的基本思路:
    对尚未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。可以看出如果有 n 个元素,那么一共要进行 n-1 轮比较,第 i 轮要进行 j=n-i 次比较。
    不知道你用的是什么单片机?如果是msp430的单片机就可以在IAR这个编译环境下看。

使用特权

评论回复
10
happybird21| | 2012-9-23 19:45 | 只看该作者
for循环次数越多,时间就越长,好多的延迟函数就是采用for循环做的

使用特权

评论回复
11
vivilzb1985| | 2012-9-24 13:24 | 只看该作者
我结贴算了,谢谢各位的关注的,关于耗时这一块的我在查查其他方面的资料的吧

使用特权

评论回复
12
vivilzb1985| | 2012-9-24 13:25 | 只看该作者
各位大虾有啥好的建议的话也可继续给我推荐啊,谢谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

76

主题

4324

帖子

9

粉丝