
回顾冒泡排序(新增优化代码)
发布日期:2021-05-08 23:24:40
浏览次数:17
分类:博客文章
本文共 2375 字,大约阅读时间需要 7 分钟。
//// main.c// 数组-冒泡排序//// Created by LongMa on 2019/6/26.// Copyright © 2019. All rights reserved.// #includeint main(int argc, const char * argv[]) { int a[10]; for (int i = 0; i < 10; i++) { printf("请输入第%d个整数,共10个:",i + 1); scanf("%d", &a[i]); } int temp = 0; //冒泡:第一次,最大的排到了最后一位;第二次(不用对比最后一个),次大的排到倒数第二位... for (int i = 0; i <= 10 - 1 - 1 ; i++) {//共3个数,要循环2次 => n个数,循环n-1次 int endLoop = 0; for (int j = 0; j <= 10 - 1 - 1 - i ; j++) {//i为0时,j + 1最大 == 9,j最大 == 8 if (a[j] > a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; endLoop = 1; printf("exchanged\n"); } } printf("第%d次循环\n", i); //未发生过交换,说明已全部有序。结束循环 if (0 == endLoop) { break; } } for (int k = 0; k < 10; k++) { printf("%d\t",a[k]); } return 0;}
log:
请输入第1个整数,共10个:1请输入第2个整数,共10个:2请输入第3个整数,共10个:3请输入第4个整数,共10个:4请输入第5个整数,共10个:5请输入第6个整数,共10个:6请输入第7个整数,共10个:8请输入第8个整数,共10个:7请输入第9个整数,共10个:10请输入第10个整数,共10个:9exchangedexchanged第0次循环第1次循环1 2 3 4 5 6 7 8 9 10 Program ended with exit code: 0
swift实现版
import Foundation func mp(arr: Array ) ->Array { var a = arr let len = a.count for i in 0...(len - 2){ var endLoop = 0 for j in 0...(len - 2 - i){ if a[j] > a[j + 1] { //exchange let temp = a[j + 1] a[j + 1] = a[j] a[j] = temp endLoop = 1 print("exchanged") } } print("第\(i)次循环") if 0 == endLoop{ break; } } return a } let gArr : [Int] = [6, 3, 5, 4, 88, 9, 2, 1, 0] let lRslt = mp(arr: gArr) print(lRslt) print("---------") let gArr1 : [Int] = [1, 2, 3, 4, 5, 6, 8, 7, 9] let lRslt1 = mp(arr: gArr1) print(lRslt1)
log:
exchangedexchangedexchangedexchangedexchangedexchangedexchanged第0次循环exchangedexchangedexchangedexchanged第1次循环exchangedexchangedexchanged第2次循环exchangedexchangedexchanged第3次循环exchangedexchangedexchanged第4次循环exchangedexchangedexchanged第5次循环exchangedexchanged第6次循环exchanged第7次循环[0, 1, 2, 3, 4, 5, 6, 9, 88]---------exchanged第0次循环第1次循环[1, 2, 3, 4, 5, 6, 7, 8, 9]
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年03月27日 11时25分15秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
针对单个网站的渗透思路
2019-03-05
Typescript 学习笔记六:接口
2019-03-05
02、MySQL—数据库基本操作
2019-03-05
OpenJDK1.8.0 源码解析————HashMap的实现(一)
2019-03-05
MySQL-时区导致的时间前后端不一致
2019-03-05
2021-04-05阅读小笔记:局部性原理
2019-03-05
go语言简单介绍,增强了解
2019-03-05
架构师入门:搭建基本的Eureka架构(从项目里抽取)
2019-03-05
MongoDB 快速扫盲贴
2019-03-05
one + two = 3
2019-03-05
sctf_2019_easy_heap
2019-03-06
PyQt5之音乐播放器
2019-03-06
Redis进阶实践之十八 使用管道模式提高Redis查询的速度
2019-03-06
SQL注入
2019-03-06
MPI Maelstrom POJ - 1502 ⭐⭐ 【Dijkstra裸题】
2019-03-06
Problem 330A - Cakeminator (思维)
2019-03-06
LeetCode75 颜色分类 (三路快排C++实现与应用)
2019-03-06
C语言+easyX图形库的推箱子实现
2019-03-06
调试vs2019代码的流程
2019-03-06
脱壳与加壳-加壳-6-代码实现加密导入表
2019-03-06