欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → [求助]冒泡法升序无值,谢谢

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5481人关注过本帖树形打印复制链接

主题:[求助]冒泡法升序无值,谢谢

帅哥哟,离线,有人找我吗?
ENK
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:86 积分:529 威望:0 精华:0 注册:2012/2/22 21:57:38
[求助]冒泡法升序无值,谢谢  发帖心情 Post By:2012/4/6 15:38:05 [只看该作者]


variable:B[6]=0;
variable:A[6]=0;
A[1]:=REF(C,1);
A[2]:=REF(C,2);
A[3]:=REF(C,3);
A[4]:=REF(C,4);
A[5]:=REF(C,5);
A[6]:=REF(C,6);  //此处有值
FOR I=1 TO I=6 DO B[I]:=IF(A[I]>C,A[I],1);   //这里就没有值了
FOR K=1 TO K=6 DO
 BEGIN
  IF B[K]>B[K+1] THEN
  BEGIN
  T:=B[K];
  B[K]:=B[K+1];
  B[K+1]:=T;
 END
END
最小值:B[1],LINETHICK0;  //这里也没有值
[此贴子已经被作者于2012-4-6 15:41:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Leon
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:金字塔养老院 帖子:509 积分:2425 威望:0 精华:0 注册:2012/3/2 12:50:05
  发帖心情 Post By:2012/4/6 16:12:43 [只看该作者]

稍后工作人员给出解答

 回到顶部
帅哥哟,离线,有人找我吗?
Leon
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:金字塔养老院 帖子:509 积分:2425 威望:0 精华:0 注册:2012/3/2 12:50:05
  发帖心情 Post By:2012/4/6 16:26:27 [只看该作者]

冒泡排序是双重for循环嵌套

外层循环条件为:n-1(n为数组长度)

内层循环条件为: n-1-i (i为外层循环中的临时变量)

然后在内层循环中交换变量

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
ENK
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:86 积分:529 威望:0 精华:0 注册:2012/2/22 21:57:38
  发帖心情 Post By:2012/4/6 16:30:57 [只看该作者]

我想求最近6个收盘价排升序,应该怎么写

 回到顶部
帅哥哟,离线,有人找我吗?
董小球
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 大哥
等级:超级版主 帖子:2837 积分:13237 威望:0 精华:2 注册:2010/7/14 17:31:54
  发帖心情 Post By:2012/4/6 16:35:44 [只看该作者]

然后呢,排序好了楼主准备怎么用呢?


金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
ENK
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:86 积分:529 威望:0 精华:0 注册:2012/2/22 21:57:38
  发帖心情 Post By:2012/4/6 16:40:48 [只看该作者]

输出第一个与第四个的值在图表上(供分析用),然后算出数组第一个与第四个之差
[此贴子已经被作者于2012-4-6 16:42:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Leon
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:金字塔养老院 帖子:509 积分:2425 威望:0 精华:0 注册:2012/3/2 12:50:05
  发帖心情 Post By:2012/4/6 16:55:56 [只看该作者]

//仅供参考

 

B[1]:=0;
B[2]:=0;
B[3]:=0;
B[4]:=0;
B[5]:=0;
B[6]:=0;

A[1]:=0;
A[2]:=0;
A[3]:=0;
A[4]:=0;
A[5]:=0;
A[6]:=0;

A[1]:=REF(C,1);
A[2]:=REF(C,2);
A[3]:=REF(C,3);


FOR I=1 TO (3-1) DO
BEGIN
FOR J=1 TO (3-1-I) DO
BEGIN
IF B[J]>B[J+1] THEN
  BEGIN
  T:=B[J];
  B[J]:=B[J+1];
  B[J+1]:=T;
  END
END
END

 


 回到顶部
帅哥哟,离线,有人找我吗?
Leon
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:金字塔养老院 帖子:509 积分:2425 威望:0 精华:0 注册:2012/3/2 12:50:05
  发帖心情 Post By:2012/4/6 16:58:53 [只看该作者]

上面那个是以三个收盘价进行排序,这个是6个收盘价求升序

仅供参考

 

B[1]:=0;
B[2]:=0;
B[3]:=0;
B[4]:=0;
B[5]:=0;
B[6]:=0;

A[1]:=0;
A[2]:=0;
A[3]:=0;
A[4]:=0;
A[5]:=0;
A[6]:=0;

A[1]:=REF(C,1);
A[2]:=REF(C,2);
A[3]:=REF(C,3);
A[4]:=REF(C,4);
A[5]:=REF(C,5);
A[6]:=REF(C,6);

FOR I=1 TO (6-1) DO
BEGIN
FOR J=1 TO (6-1-I) DO
BEGIN
IF B[J]>B[J+1] THEN
  BEGIN
  T:=B[J];
  B[J]:=B[J+1];
  B[J+1]:=T;
  END
END
END

 


 回到顶部
帅哥哟,离线,有人找我吗?
ENK
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:86 积分:529 威望:0 精华:0 注册:2012/2/22 21:57:38
  发帖心情 Post By:2012/4/6 17:40:08 [只看该作者]

请问只排序大于当前收盘价的,应该在什么位置加条件呢,谢谢楼上的大哥

 回到顶部
帅哥哟,离线,有人找我吗?
ENK
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:86 积分:529 威望:0 精华:0 注册:2012/2/22 21:57:38
  发帖心情 Post By:2012/4/6 22:19:53 [只看该作者]

variable:B[6]=0;

B[1]:=REF(C,1);
B[2]:=REF(C,2);
B[3]:=REF(C,3);
B[4]:=REF(C,4);
B[5]:=REF(C,5);
B[6]:=REF(C,6);

FOR I=1 TO (7-1) DO
BEGIN
FOR J=1 TO (7-1-I) DO
BEGIN
IF B[J]>B[J+1] THEN
  BEGIN
  T:=B[J];
  B[J]:=B[J+1];
  B[J+1]:=T;
  END
END
END

请问,加个条件,只把大于当前收盘价的数组元素进行排升序,把不符合的数组元素排除或者放在数组的最后面

(这样保证排序后的数组前几个元素为满足条件的数组元素),应该怎么做,想了很久都没有想出来,谢谢


 回到顶部