SAS中文论坛
标题:
运用冒泡排序法的原理进行sas排序
[打印本页]
作者:
shiyiming
时间:
2009-4-14 09:09
标题:
运用冒泡排序法的原理进行sas排序
例如 data a;
input x@@;
cards;
23 44 81 13 42 34 26;
run;
将这7个数从小到大排序,不能用proc sort,可能会用到iml 或者array .用冒泡排序法的原理在sas中编程
作者:
shiyiming
时间:
2009-4-14 09:41
标题:
Re: 运用冒泡排序法的原理进行sas排序
SAS 新人 仅供参考
**************************
data _null_;
array n[7] (23 44 81 13 42 34 26);
do i=1 to dim(n)-1;
do j=i+1 to dim(n);
if n[i]>n[j] then do;
temp=n[i];
n[i]=n[j];
n[j]=temp;
end;
end;
end;
put n[*];
run;
作者:
shiyiming
时间:
2009-4-16 17:14
标题:
Re: 运用冒泡排序法的原理进行sas排序
[code:hd5x0v5h]
data a;
input x@@;
cards;
23 44 81 13 42 34 26
;
run;
proc sort;by x;run;
proc transpose data=a out=b(drop=_name_) prefix=x;
var x;
run;
%macro exchange(x,y);
do; temp=&x; &x=&y; &y=temp; end;
%mend;
data final;
set b;
array arr(*) x:;
do i=1 to dim(arr);
do j=1 to dim(arr)-1;
if arr(j)>arr(j+1) then %exchange(arr(j),arr(j+1));
end;
end;
run;
[/code:hd5x0v5h]
昨天看到的冒泡算法...现学现卖....
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2