冒泡排序, 使用最低票价.---双重循环,一重移动次数.二重移动

public function arith(){
echo ‘<meta http-equiv="Content-type" content="text/html:charset=utf-8">‘;
echo ‘<pre>‘;
$array = array(11,-3,51,-9);  //最小值在最后面.移到最前面需要(数组总数-1)次移动
$flag = false;
var_dump($array);

for ($i = 1;$i < count($array);$i++){   //只负责移动的次数
    for ($j = 0;$j < count($array) - $i;$j++){
      if ($array[$j] > $array[$j + 1]){
        $temp = $array[$j]; //把大的放到临时变量
        $array[$j] = $array[$j + 1]; //把移动好的,再次放回原来数组
        $array[$j + 1] = $temp;
        $flag = true;
    }
}
var_dump($array);

if (!$flag){
break;
}
$flag = false;
}
foreach ($array as $value){
echo $value.‘&nbsp ‘;
}
}

时间: 2024-08-01 09:31:27

冒泡排序, 使用最低票价.---双重循环,一重移动次数.二重移动的相关文章

java08双重循环打印图形

public class Double01 { /** * 若有3个班级各4名学员参赛, * 如何计算每个班级参赛学员的平均分? */ public static void main(String[] args) { // 创建一个2维数组保存数据 double[][] scores = new double[3][4]; // 循环输入学员的成绩 Scanner scanner = new Scanner(System.in); // 定义一个变量 保存每个班级的总分 double sum =

双重循环趣味题

  今天在做一些双重循环打印的趣味题,在这里分享一下我幼稚的代码: 1 /* 2 * 利用双重循环打印 3 * * 4 * *** 5 * ***** 6 * ******* 7 * ********* 8 * ******* 9 * ***** 10 * *** 11 * * 12 */ 13 14 public class Test { 15 16 public static void main(String[] args) { 17 int num1 = 1; 18 int num2 =

汇编入门学习笔记 (六)—— si、di,双重循环

疯狂的暑假学习之  汇编入门学习笔记 (六)-- si.di,双重循环 参考: <汇编语言> 王爽 第7章 1. and和or指令,与[bx+idata] and和or,就不多说了. [bx+idata] 这样写是可以的,某些情况下,比较方便. [bx+idata] 也可以写成 idata[bx] 直接见例子: 把'ABcde' 跟 'fGHig' 都改成大写(ASCII中大写字母与小写字母二进制中,只有第五位不同,大写字母是0,小写字母是1) assume cs:code,ds:data d

java循环练习:由输入的值决定循环的执行次数,循环变量默认从1开始

package practiceGO; import java.util.Scanner; /*   3.由输入的值决定循环的执行次数,循环变量默认从1开始  */ public class Cto { public static void main(String[] args) { Scanner sc = new Scanner(System .in); System.out.println("请输入循环次数:"); int time = sc.nextInt(); for(int

21.使用双重循环打印图形

/* * 打印菱形 * */ public class PrintLX { public static void main(String[] args) { //外层循环,执行五次,每次输出一行* for (int i = 1; i <= 5; i++) { for(int j=1;j<=5-i;j++){ System.out.print(" "); } //内层循环,执行五次,每次输出一个* for (int j = 1;j<=2*i-1;j++){ System

Java双重循环

在实际开发中我们常常遇到这样的问题,有A.B两个集合,这两个集合的某一个字段是相同的,要把A集合和B进行匹配,然后把A的值赋值给B例如: //上传图片 List<MultipartFile> A=multipartRequest.getFiles("fileName"); List<MultipartFile> C=new ArrayList<MultipartFile>(); List<TQuestionInfo> B=question

sql语句双重循环

表 j_wenzhang_aps201503 中 shunxu 字段为null.现在 想根据 lanmu_id,qishiye两项,更新shunxu 字段. 1 .如果让shunxu 字段 自增,不存在重复,且lanmu_id 较小的,对应的 shunxu 也小:lanmu_id 相同,qishiye较小的,对应的shunxu也小. declare @maxid int declare @minid int declare @shunxu int declare @maxqishiye int

mysql双重循环示例

BEGIN DECLARE menu_id VARCHAR(36); DECLARE done INT DEFAULT FALSE; DECLARE cursor_rule CURSOR FOR SELECT s.id FROM d_menu_type s ; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cursor_rule; l : LOOP FETCH cursor_rule INTO menu_id; IF d

关于双重循环的简单应用——打印菱形(没事写的玩的,纯属娱乐)

public class LingXing { public static void print(int n){ int i = 0; int j = 0; for(i=0; i<n; i++){//前四行 for(j=0; j<n+i;j++){ if(j < n-i-1) System.out.print(" "); else System.out.print("*"); } System.out.println(); } for(i=1; i