楼主: 西梅不是梅
1444 1

[问答] 初学者用R编选择排序法的编程题求救! [推广有奖]

  • 0关注
  • 0粉丝

小学生

50%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
130 点
帖子
1
精华
0
在线时间
13 小时
注册时间
2016-11-28
最后登录
2021-3-10

楼主
西梅不是梅 发表于 2017-1-7 21:34:05 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
选择排序是常用的一种排序方法,其描述如下:首先通过n-1次比较,从n个数中找出最小的, 将它与第一个数交换即完成第一趟选择排序,结果最小的数被安置在第一个元素位置上;再通过n-2次比较,从剩余的n-1个数中找出关键字次小的记录,将它与第二个数交换即完成第二趟选择排序;重复上述过程,共经过n-1趟排序后,排序结束。
1.        请写出本方法的算法描述
2.        画出算法的NS图
3.        编写程序f(R),输入向量R,输出排好序的向量。



遇到了一个棘手的问题,希望有大牛可以帮帮忙,我随便写了一下,完全不对,初学者求指教。。。

function(x){
  while(length(x)=0){
   a<-c
   i<-1
     for(i in length(x)){
      a<-c(a,x[which(x==min(x))])
      x<-c(x[which(x==min(x))])
      }
   }
a
}
二维码

扫码加我 拉你入群

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

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

关键词:选择排序法 初学者 function length while 编写程序 关键字 初学者 记录 元素

沙发
飞天玄舞6 在职认证  发表于 2017-1-8 14:26:36
  1. a = c(3,1,4,7,2,5)
  2. sorted <- function(a){
  3.   if(length(a)==1){
  4.     return(a)
  5.     break
  6.   }
  7.   b = a[which.min(a)]
  8.   a[which.min(a)] = a[1]
  9.   a[1] = b
  10.   return(c(a[1],sorted(a[-1]))) ##应用递归
  11. }
  12. sorted(a)
复制代码

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 15:54