楼主: 小洋仔
1133 2

[问答] 各位大神们,help me ....我这个程序为什么实现不了快速排序??? [推广有奖]

  • 2关注
  • 0粉丝

大专生

95%

还不是VIP/贵宾

-

威望
0
论坛币
30 个
通用积分
1.0600
学术水平
5 点
热心指数
9 点
信用等级
5 点
经验
409 点
帖子
51
精华
0
在线时间
49 小时
注册时间
2013-10-11
最后登录
2016-3-20

楼主
小洋仔 学生认证  发表于 2013-10-18 20:56:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
> p<-runif(100,0,100)
> position<-function(p,left,right)
+ {
+ ch=p[left]
+ i=left
+ j=right
+  while(i<j)
+  {
+
+ while(p[j]>=ch&&i<j)
+ {j=j-1}
+
+ {
+ temp=p[j]
+ p[j]=p[i]
+ p[i]=temp
+ }
+ while(p[i]<=ch&&i<j)
+              i=i+1
+ {
+ temp=p[i]
+ p[i]=p[j]
+ p[j]=temp
+ }
+  }
+ p[i]=ch
+ return (i) }
> quicksort<-function(p,left,right)
+ {
+ if(left<right)
+ {
+ c=position(p,left,right)
+ quicksort(p,left,c-1)
+ quicksort(p,c+1,right)
+ }
+ }
> print(p)
  [1] 70.2109356 23.2229310 55.9589015 88.3560980 16.3873316 51.1639351
  [7] 24.9611950 95.7112153 52.2650148 15.2979143 73.9957755 37.1040484
[13] 84.4752610 45.3504229  6.0132963 14.2099394 54.3283803 45.6425801
[19] 11.6959808 64.7069964 34.1670299 27.9033357 95.2474008 71.2831944
[25] 56.0229940 13.5457678 50.6098039 49.3351473 43.1278305 59.6004731
[31] 40.7054852 72.1096626 86.8799710 16.5948064 25.7731950 44.1709756
[37] 86.5886568 76.6001450 34.5163265 50.1618490 28.1096952 56.9725382
[43] 39.3045214 96.5561596 64.6172029 83.8112331 57.8143109 16.0371765
[49] 70.2708381 27.9464554  3.6985003 20.4544107 50.4156327 82.9449672
[55] 39.2295394 74.2296771 48.7962310 16.0651336  8.4351208 57.8702368
[61] 42.9878993 79.8208326 64.0042727 88.3923224 75.4770234 57.0811214
[67] 61.6199970 69.4653060 69.4949887 68.7817395 57.5586543 67.2598059
[73] 55.8648105 83.1594391 97.3330077  9.0687329 65.0160189 10.3653066
[79] 46.0673450 19.7190146 48.0623542 28.0614926 92.7598999 69.1209554
[85] 73.1341345  0.5200688 83.1346664 96.3585349 26.5716380 22.1543035
[91] 47.3766706 62.0739943 20.6718482 24.2581804  8.1379289 50.5840062
[97] 67.7534163 48.3172179 92.3801011 39.6174103
>
二维码

扫码加我 拉你入群

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

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

关键词:Help elp position OSI POS 程序

回帖推荐

jmpamao 发表于3楼  查看完整内容

沙发
小洋仔 学生认证  发表于 2013-10-18 21:01:05
在吗?哥,可以的话帮我看看。。。嘿嘿

藤椅
jmpamao 发表于 2013-10-18 23:12:24
  1. p <- runif(100,0,100)
  2. posi <- function(dat){
  3.   if(length(dat)>1){
  4.       left <- posi(dat[dat < dat[1]])
  5.     mid <- dat[ dat == dat[1]]
  6.     right <- posi(dat[ dat > dat[1]])
  7.     c(left, mid, right)
  8.   }
  9.   else dat
  10. }
  11. #此代码的解释,需要画流程图,不然有点盗梦空间的感觉。形象点,选第一个元素后,就像大树根部开始无限蔓延。。。
  12. posi(p)  #还是sort(p) 好!
复制代码
  1. > posi(p)
  2.   [1]  1.142261  2.905181  3.520659  3.920324  4.036045  7.241147
  3.   [7]  7.431204 11.654847 13.779996 14.555225 14.816730 16.514401
  4. [13] 17.932255 20.627590 22.159842 22.803688 23.725278 25.700389
  5. [19] 25.812129 29.574554 29.844530 30.844421 31.040717 31.317806
  6. [25] 32.132100 33.130461 33.487931 34.349222 36.228308 36.559292
  7. [31] 37.345793 37.712369 39.004456 39.503651 40.605588 41.209757
  8. [37] 41.357731 42.850857 43.421527 45.152280 46.108806 46.112690
  9. [43] 46.308382 47.190356 47.604666 48.406138 48.613921 49.462986
  10. [49] 49.762967 50.864636 51.866672 52.461593 52.746161 52.872672
  11. [55] 53.302569 53.770535 54.517676 55.416133 58.063084 62.134747
  12. [61] 63.633180 64.248556 64.318831 64.465881 68.179638 70.020159
  13. [67] 72.748950 73.194778 73.787897 73.864153 74.233591 74.380064
  14. [73] 74.512216 75.208854 77.164687 79.419637 81.573749 82.582653
  15. [79] 83.135976 83.514837 84.348280 85.746317 86.062084 86.421757
  16. [85] 86.840254 86.988644 87.354194 88.128164 91.591255 92.271224
  17. [91] 93.048283 93.134235 93.860049 94.347724 96.042103 96.421723
  18. [97] 97.004024 98.088801 98.449816 99.659872
复制代码

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 11:49