冒泡优化测试(1百万元素排序)

简介: 优化:去除排序完成后的,轮数空转时间(bubblingSortx方法) 冒泡排序及优化代码:冒泡排序和优化 测试代码: package com.ts.w;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Array1millionSize { p

优化:去除排序完成后的,轮数空转时间(bubblingSortx方法)

冒泡排序及优化代码:冒泡排序和优化

测试代码:

package com.ts.w;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Array1millionSize {

	public static int [] getList(){
		int rdNum = (int) (Math.random() * 100);
//		List<Integer> list = new ArrayList<Integer>(1000000);
//		for(int i = 0; i < 1000000; i++){
//			list.add(i+rdNum);
//		}
		int [] intArray = new int[1000000];
		for(int i = 0; i < 1000000; i++){
			intArray[i] = i + rdNum;
		}
		return intArray;
		
	}
	
	public static void main(String[] args) {
		long sTime = System.currentTimeMillis();
		int [] list = getList();
		long eTime = System.currentTimeMillis();
		System.out.println("生成1百万int数组的time:"+(eTime - sTime)+"ms");
//		int listLen = list.length;
//		long sTime0 = System.currentTimeMillis();
//		for(int i = 0;i < listLen; i++){
//			System.out.println(list[i]);
//		}
//		long eTime0 = System.currentTimeMillis();
//		System.out.println("1百万int数组打印时间time0:"+(eTime0 - sTime0)+"ms");
		int [] temp1 = list;
		int [] temp2 = list;
		long sTime1 = System.currentTimeMillis();
		int [] temp3 = BubblingSort.bubblingSort(temp1);
		long eTime1 = System.currentTimeMillis();
		System.out.println("bubblingSort方法排序时间1time:"+(eTime1 - sTime1)+"ms");
		long sTime2 = System.currentTimeMillis();
		int [] temp4 = BubblingSort.bubblingSortx(temp2);
		long eTime2 = System.currentTimeMillis();
		System.out.println("bubblingSortx方法排序时间2time:"+(eTime2 - sTime2)+"ms");
		if(Arrays.equals(temp3, temp4)){
			System.out.println("内容相同数组");
		}else{
			System.out.println("不是内容相同数组");
		}
	}
}


测试结果:

生成1百万int数组的time:5ms
bubblingSort排序中……
bubblingSort方法排序时间1time:143847ms
bubblingSortx排序中……
bubblingSortx方法排序时间2time:3ms
内容相同数组

注:在两个方法开始时,加入"排序……",等待显示!

可见空转确实有很长时间!(暂时,不确定,计算机对重复操作的处理!)

目录
打赏
0
0
0
0
4
分享
相关文章
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
286 11
优化你的 REST Assured 测试:设置默认主机与端口、GET 请求与断言
REST Assured 是一个强大的 Java 库,用于简化 RESTful API 测试。本文详解了其核心功能:设置默认主机和端口以减少代码重复、发起 GET 请求并验证响应结果,以及通过断言确保接口行为符合预期。同时推荐 Apipost 工具,助力开发者提升 API 测试效率,实现更高效的接口管理与团队协作。掌握这些技巧,可显著优化测试流程与代码质量。
如何测试中间件优化后的 Pinia 状态管理?
如何测试中间件优化后的 Pinia 状态管理?
141 64
UI自动化测试中的元素等待机制解析
在UI自动化测试中,元素定位失败常因页面存在iframe或缺乏合理等待机制。本文解析三种等待策略及其应用场景:显式等待可精确控制单个元素等待条件,支持自定义轮询;隐式等待全局生效,适合简单页面加载;强制等待仅用于临时调试,正式脚本慎用。通过对比三者执行精度、资源消耗及适用场景,帮助选择最优策略,提升测试效率与稳定性。
游戏开发者如何使用独享静态代理IP进行测试与优化
随着互联网技术的发展,使用代理IP的人数逐渐增加,特别是在业务需求中需要使用静态代理IP的情况越来越多。本文探讨了独享静态代理IP是否适用于游戏行业,分析了其优势如稳定性、不共享同一IP地址及地理位置选择等,同时也指出了需要注意的问题,包括可能的延迟、游戏兼容性和网络速度等。总体而言,选择合适的代理服务并正确配置,可以有效提升游戏体验。
142 2
探索软件测试中的自动化框架选择与优化策略####
【10月更文挑战第21天】 本文深入剖析了软件测试领域面临的挑战,聚焦于自动化测试框架的选择与优化这一核心议题。不同于传统摘要的概述方式,本文将以一个虚拟案例“X项目”为线索,通过该项目从手动测试困境到自动化转型的成功历程,生动展现如何根据项目特性精准匹配自动化工具(如Selenium、Appium等),并结合CI/CD流程进行深度集成与持续优化,最终实现测试效率与质量的双重飞跃。读者将跟随“X项目”团队的视角,直观感受自动化框架选型的策略性思考及实践中的优化技巧,获得可借鉴的实战经验。 ####
81 0
利用Postman和Apipost进行API测试的实践与优化-动态参数
在API测试中,Postman和Apipost是常用的工具。Postman内置变量功能有限,面对复杂场景时需编写JavaScript脚本,增加了维护成本。而Apipost提供丰富的内置变量、可视化动态值配置和低代码操作,支持生成真实随机数据,如邮箱、手机号等,显著提升测试效率和灵活性。对于复杂测试场景,Apipost是更好的选择,能有效降低开发与维护成本,提高测试工作的便捷性和可维护性。
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
191 1
探索软件测试中的自动化框架选择与优化策略####
本文深入探讨了在软件测试领域,面对众多自动化测试框架时,如何根据项目特性、团队技能及长远规划做出最佳选择,并进一步阐述了优化这些框架以提升测试效率与质量的策略。通过对比分析主流自动化测试框架的优劣,结合具体案例,本文旨在为测试团队提供一套实用的框架选型与优化指南。 ####
探索自动化测试框架的构建与优化####
在软件开发周期中,自动化测试扮演着至关重要的角色。本文旨在深入探讨如何构建高效的自动化测试框架,并分享一系列实用策略以提升测试效率和质量。我们将从框架选型、结构设计、工具集成、持续集成/持续部署(CI/CD)、以及最佳实践等多个维度进行阐述,为软件测试人员提供一套系统化的实施指南。 ####
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等