楼主: webgu
1119 0

[SAS] 选择排序法和冒泡排序法的SAS实现 [推广有奖]

贵宾

学科带头人

95%

还不是VIP/贵宾

-

TA的文库  其他...

Python与统计

SAS与统计

威望
2
论坛币
102549 个
通用积分
3.4687
学术水平
475 点
热心指数
493 点
信用等级
434 点
经验
62369 点
帖子
1555
精华
4
在线时间
2201 小时
注册时间
2009-5-4
最后登录
2025-12-25

初级学术勋章 初级热心勋章 初级信用勋章 中级学术勋章 中级热心勋章 中级信用勋章

楼主
webgu 发表于 2015-3-9 17:27:07 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

对于排序问题,有两个经典的算法:选择排序法和 冒泡排序法。


这两种算法的各种主流编程语言(C,C++,C#,JAVA)的实现版本都有。


下面以SAS语言为例,实现这两种算法。



  1. data _null_;
  2. array  a[7]  (95 93 92 99 98 85 94);
  3. /* selection sort*/
  4. do i=1 to dim(a)-1;
  5.   min=i;
  6.   do j=i+1  to dim(a);
  7.       if (a[min]>a[j])  then  do;
  8.             min=j;
  9.             tmp=a[i]; a[i]=a[min]; a[min]=tmp;
  10.            end;
  11.         end;
  12. end;
  13. /*print sorted array*/
  14. do i=1 to dim(a);
  15.     put a[i];
  16. end;
  17. run;
复制代码

  1. data _null_;
  2. array  a[7]  (95 93 92 99 98 85 94);
  3. /* bubble sort*/
  4. do i=1 to dim(a);
  5.   do j=1  to dim(a)-i;
  6.        if a[j]>a[j+1] then do;
  7.            tmp=a[j]; a[j]=a[j+1];a[j+1]=tmp;
  8.            end;
  9. end;
  10. end;
  11. /*print sorted array*/
  12. do i=1 to dim(a);
  13.   put a[i];
  14. end;
  15. run;
复制代码

其实如果不是为了好玩,SAS有简单的例程可以实现。


  1. data   _null_;
  2.   array  a[7]  (95 93 92 99 98 85 94);
  3.   call sortn(of a[*]);
  4.   do i=1 to dim(a);
  5.      put a[i];
  6. end;
  7. run;
复制代码

二维码

扫码加我 拉你入群

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

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

关键词:冒泡排序法 选择排序法 Selection Election sorted 选择排序法 冒泡排序法 SAS 实现

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
niuniuyiwan + 100 + 100 + 5 + 5 + 5 精彩帖子

总评分: 经验 + 100  论坛币 + 100  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

本帖被以下文库推荐

SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-18 07:18