冒泡排序V1.0,代码中的k:= i-l,是什么意思,我总是觉得k:=i-1-l;,谢谢老哥们了。
冒泡排序V1.0,代码中的k:= i-l,是什么意思,我总是觉得k:=i-1-l;,谢谢老哥们了。冒泡排序V1.0,代码中的k:= i-l,是什么意思,我总是觉得k:=i-1-l;,谢谢老哥们了。 发代码发上来看看,不同的人写的程序遍历变量名都取得不一样 个人理解,分外循环和内循环。外循环:一共需要进行多少轮比较,内循环:每轮比较的次数 冒泡 其实就干了 以下几件事
{
xxx array of integer ;
var J0,J1,J2: integer;
J2:=1;
///1,求需要泡的趟数
///(总数组-1) 比如数组申请的是0..19 那么就是20-1
///代码大概可以这样 格式写High(xxx)=最大数字的索引号
J0:= High(xxx) -1;
/// 这个时候J0=18
////2,两两相邻数字比较大小 达到自己想要设定的效果就互换
//对比前 需要想下 怎么得出怎么相邻对比 如:0>1 1>2 2>3
//大概看得出来 被对比的【1】永远比 对比数【0】 大1
// 2.1 开始操作 先找出从【0】到 【最高数】 用for
for J1:= 0 toJ0 to // 0用j1 因为初始化他是0 这里的j0是上面求出来的190~18=19趟
begin
// 2.2 这个时候 对比数【0】已经被找出来了 是j1
// 2.3 被对比的【1】永远-比- 对比数【0】 大1还未求出来 如下
// 2.4先初始化他等于1.看上面的 J2:=1;
// 2.5在进行相邻对比后+1 条件成立或者不成立都要把j2 这个被对比数+1
ifxxx > xxx then
begin
xxx:=xxx;如果j1 比 j2 大 就把小的数子往后移动一下
J2:=j2+1比对完第一次 把数子 被对比的数 +1 不然无法往下对比
end
else
J2:=j2+1 //这里大概意思就是对比的时候 不大于也+1次
end;
以上都是个人理解··方法应该大同小异
页:
[1]