数码资讯
PHP数组共享中的三种排序方法
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
冒泡排序法
描述:找到最大的数字,安排到后面,然后继续寻找它。
例:
复制代码代码如下所示:
$ ARR =阵列(3,5,- 1,0,2);
为($我= 0;$我<计数($ ARR)1美元;i++){
为(J = 0美元;J <计数($ ARR)- 1美元美元我;j++){
如果($ ARR { $ J } > $ ARR { $ J + 1 }){
美元美元美元临时= { }度{J}.;
ARR { } = J美元美元美元美元ARR { J + 1 };
$ ARR { $ J + 1 } = $温度;
}
}
}
理解uff1a
3, 5,1, 0, 2
从后面的/到第一个数,如果后面的位置数比后面的数大
第一,3小于5,所以相同
5次/秒,超过1次,然后变成
3,1, 5, 0,2
5 第三次,超过0次
3,1, 0, 5,2
5 第四次,超过2次
3,1, 0, 2,5
此时,内部循环完成,最后一个数字完成,下一次将不涉及。
3,1, 0, 2,5秒外循环首次启动:3大于1。
- 1, 3, 0,2, 5
第二次:3大于0
- 1, 0, 3,2, 5
第三次:3大于2
- 1, 0, 2,3, 5
此时,将对下两个数字进行排序,然后进行类推。
- 1, 0, 2,3, 5
两。选择排序方法
注:让我们先假设第一个数是最小的数,然后把它和下面的数字比较。如果假设数不是最小的,它将用最小数代替它。
复制代码代码如下所示:
$ ARR =阵列(2,1,- 1,3,0);
为($我= 0;$我<计数($ ARR)1美元;i++){
美元美元美元minVal = ARR {我};
美元美元极小指标=我;
(J = 1 +为美元美元美元我;J <计数($ ARR);$ J++){
如果($ ARR { $ J } < $ minVal){
美元美元美元minVal = ARR {,};
$极小指标= J;
}
}
温度=美元美元美元ARR {我};
ARR {我} =美元美元美元美元极小指标ARR { };
ARR { } =美元美元美元极小指标温度;
}
理解uff1a
2, 1,1, 3, 0
第一个假设是第一个数字2是它后面的最小值。与2相比,找到最小数量的
过程:
1小于2,那么minVal = 1
1小于1,那么minVal = - 1
3大于1,常数
0大于1,常数
现在你在数组中找到最小的数字为1
第一个数字的排序是通过改变1和2的位置来完成的。
现在数组变成了
- 1, 1, 2,3, 0
现在,第一个数字1是有序的,所以它不参与比较,并继续到后面。
现在假设minVal = 1
2大于1,常数
3大于1,常数
0小于1,那么minVal = 0
现在完成一个循环,改变0和1个位置来完成第二个数的排序。
现在数组变成了
- 1, 0, 2,3, 1
在推送方法后面,同上…
三、插入排序法
描述:数组中的第一个假设第一个数字是一个有序数组,它后面的第一个数字,和它在这里{增长的i,它成了他们的}比较,如果后面的数小于假设数,移位后的数字将是小的,最后移动到前面的数目。
复制代码代码如下所示:
$ ARR =阵列(2,1,- 1,3,0);
为($我= 1;$我<计数($ ARR);$ i++){
insertval美元=美元ARR { $我};
insertindex美元= $ I-1;
而(insertindex > = 0美元美元美元美元insertval << insertindex ARR { }){
$ ARR { $ insertindex + 1 } = { } ARR insertindex美元美元;
insertindex美元--;
}
温度=美元美元美元ARR {我};
insertindex + 1美元美元的ARR { } = $ insertval;
}
理解uff1a
2, 1,1, 3, 0
/ /第一,先救1号要插入insertval,然后采取insertval相比,2, 1小于2,所以2后移,示意图如下
2, 2,1, 3, 0
2 / /不在号码前,insertindex = 0,因此,将insertval到这个位置找到像下图。
1, 2,1, 3, 0
在1, 2个,变成一个有序数组
/ /二次,先救数1被插入到insertval,与insertval 2比较,1小于2,所以2迁回
1, 2, 2,3, 0
/ /在这个时候,比较insertval和1 - 1小于1,那么1回到(这是一个以插在前面的号码和有序阵列比较过程)
1, 1, 2,3, 0
insertindex / /在这个时候,就要结束了,所以insertval将插入位置
- 1, 1, 2,3, 0
按上面的方式返回
描述:找到最大的数字,安排到后面,然后继续寻找它。
例:
复制代码代码如下所示:
$ ARR =阵列(3,5,- 1,0,2);
为($我= 0;$我<计数($ ARR)1美元;i++){
为(J = 0美元;J <计数($ ARR)- 1美元美元我;j++){
如果($ ARR { $ J } > $ ARR { $ J + 1 }){
美元美元美元临时= { }度{J}.;
ARR { } = J美元美元美元美元ARR { J + 1 };
$ ARR { $ J + 1 } = $温度;
}
}
}
理解uff1a
3, 5,1, 0, 2
从后面的/到第一个数,如果后面的位置数比后面的数大
第一,3小于5,所以相同
5次/秒,超过1次,然后变成
3,1, 5, 0,2
5 第三次,超过0次
3,1, 0, 5,2
5 第四次,超过2次
3,1, 0, 2,5
此时,内部循环完成,最后一个数字完成,下一次将不涉及。
3,1, 0, 2,5秒外循环首次启动:3大于1。
- 1, 3, 0,2, 5
第二次:3大于0
- 1, 0, 3,2, 5
第三次:3大于2
- 1, 0, 2,3, 5
此时,将对下两个数字进行排序,然后进行类推。
- 1, 0, 2,3, 5
两。选择排序方法
注:让我们先假设第一个数是最小的数,然后把它和下面的数字比较。如果假设数不是最小的,它将用最小数代替它。
复制代码代码如下所示:
$ ARR =阵列(2,1,- 1,3,0);
为($我= 0;$我<计数($ ARR)1美元;i++){
美元美元美元minVal = ARR {我};
美元美元极小指标=我;
(J = 1 +为美元美元美元我;J <计数($ ARR);$ J++){
如果($ ARR { $ J } < $ minVal){
美元美元美元minVal = ARR {,};
$极小指标= J;
}
}
温度=美元美元美元ARR {我};
ARR {我} =美元美元美元美元极小指标ARR { };
ARR { } =美元美元美元极小指标温度;
}
理解uff1a
2, 1,1, 3, 0
第一个假设是第一个数字2是它后面的最小值。与2相比,找到最小数量的
过程:
1小于2,那么minVal = 1
1小于1,那么minVal = - 1
3大于1,常数
0大于1,常数
现在你在数组中找到最小的数字为1
第一个数字的排序是通过改变1和2的位置来完成的。
现在数组变成了
- 1, 1, 2,3, 0
现在,第一个数字1是有序的,所以它不参与比较,并继续到后面。
现在假设minVal = 1
2大于1,常数
3大于1,常数
0小于1,那么minVal = 0
现在完成一个循环,改变0和1个位置来完成第二个数的排序。
现在数组变成了
- 1, 0, 2,3, 1
在推送方法后面,同上…
三、插入排序法
描述:数组中的第一个假设第一个数字是一个有序数组,它后面的第一个数字,和它在这里{增长的i,它成了他们的}比较,如果后面的数小于假设数,移位后的数字将是小的,最后移动到前面的数目。
复制代码代码如下所示:
$ ARR =阵列(2,1,- 1,3,0);
为($我= 1;$我<计数($ ARR);$ i++){
insertval美元=美元ARR { $我};
insertindex美元= $ I-1;
而(insertindex > = 0美元美元美元美元insertval << insertindex ARR { }){
$ ARR { $ insertindex + 1 } = { } ARR insertindex美元美元;
insertindex美元--;
}
温度=美元美元美元ARR {我};
insertindex + 1美元美元的ARR { } = $ insertval;
}
理解uff1a
2, 1,1, 3, 0
/ /第一,先救1号要插入insertval,然后采取insertval相比,2, 1小于2,所以2后移,示意图如下
2, 2,1, 3, 0
2 / /不在号码前,insertindex = 0,因此,将insertval到这个位置找到像下图。
1, 2,1, 3, 0
在1, 2个,变成一个有序数组
/ /二次,先救数1被插入到insertval,与insertval 2比较,1小于2,所以2迁回
1, 2, 2,3, 0
/ /在这个时候,比较insertval和1 - 1小于1,那么1回到(这是一个以插在前面的号码和有序阵列比较过程)
1, 1, 2,3, 0
insertindex / /在这个时候,就要结束了,所以insertval将插入位置
- 1, 1, 2,3, 0
按上面的方式返回
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。