全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5618 6
2011-01-11
例如 data a;
input x@@;
cards;
23 44 81 13 42 34 26;
run;
将这7个数从小到大排序,不能用proc sort,可能会用到iml 或者array .用冒泡排序法的原理在sas中编程
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-1-11 22:33:27
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-1-11 23:16:02
不知道冒泡排序,google了一下;
冒泡排序(Bubble Sorting)的基本思想是:设待排序n个元素存放在数组a[n]中,无序区范围初始为(a(0),a(1),a(2),...,a[n-1]),冒泡排序方法是在当前无序区内,从最上面的元素a[0]开始,对每两个相邻的元素a[i+1]和a[i](i=0,1,...,n-1)进行比较,且使值较小的元素换至值较大的元素之上(若a[i]>a[i+1],则a[i]和a[i+1]的值互换),这样经过一趟冒泡排序后,假设最后下移的元素为a[k],则无序区中值较大的几个元素到达下端并从小到大依次存放在a[k+1],a[k+2],...a[n-1]中,这样无序区范围变为(a[0],a[1],a[2],...,a[k])。在当前无序区内进行下一趟冒泡排序。这个过程一直到某一趟排序中不出现元素交换的动作,排序结束。整个排序过程最多执行n-1遍。这种排序方法是通过相邻元素之间的比较与交换,使值较小的元素逐渐从后部移向前部(从下标较大的单元移向下标较小的单元),就象水底下的气泡一样逐渐向上冒。故称为冒泡排序法。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-1-13 14:18:25
为什么有现成的函数不用啊
sortn
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-1-14 22:00:07
data a;

input x1-x7;

cards;

23 44 81 13 42 34 26

;

run;

data b;
  set a;
  array a(7) x1-x7;
    do i=1 to 7;
     do j=i to 7;
       if a(j)<a(i) then  do;
temp=a(j);a(j)=a(i);a(i)=temp;  
    end;
    end;
         end;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-1-14 22:04:11
中间 用一个临时变量temp ,如果后面一个比前面一个小,就先吧后面的a(j)给temp,然后让a(j))=a(i);
在让a(i)=temp。就是中间借助一个变量,颠倒一下顺序。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群