冒泡排序是双重for循环嵌套
外层循环条件为:n-1(n为数组长度)
内层循环条件为: n-1-i (i为外层循环中的临时变量)
然后在内层循环中交换变量
//仅供参考
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
上面那个是以三个收盘价进行排序,这个是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
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
请问,加个条件,只把大于当前收盘价的数组元素进行排升序,把不符合的数组元素排除或者放在数组的最后面
(这样保证排序后的数组前几个元素为满足条件的数组元素),应该怎么做,想了很久都没有想出来,谢谢