zoukankan      html  css  js  c++  java
  • 冒泡排序和插入算法

    1.冒泡排序

     冒泡排序算法的运作如下:

    1.  比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    2.  对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
    3.  针对所有的元素重复以上的步骤,除了最后一个。
    4.  持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
    public static void main(String[] args) {
    		int[] nums = { 12, 123, 34, 15, 17 };  //定义一个数组
    		System.out.println("排序前的数组:");
    		for (int num : nums) {
    			System.out.print(num + "	");
    		}
    		//循环次数为数组长度减1
    		for (int i = 0; i < nums.length - 1; i++) {
    			//相邻两数的比较次数
    			for (int j = 0; j < nums.length - 1 - i; j++) {
    				//比较数组中的相邻两个数
    				if (nums[j] > nums[j + 1]) {
    					//交换两个数
    					int temp;
    					temp = nums[j];
    					nums[j] = nums[j + 1];
    					nums[j + 1] = temp;
    				}
    			}
    		}
    		System.out.println();
    		System.out.println("排序后的数组:");
    		for (int num : nums) {
    			System.out.print(num + "	");
    		}
    

     2.插入算法

    主要思想:插入排序法的排序思想就是从数组的第二个元素开始,将数组中的每一个元素按照规则插入到已排好序的数组中以达到排序的目的.一般情况下将数组的第一个元素作为启始元素,从第二个元素开始依次插入.由于要插入到的数组是已经排好序的,所以只是要从左向右找到插入点(对升序而言),其余元素依次向后移动一位,然后输出插入后的数组。

    	int[] nums = new int[6];
    		nums[0] = 10;
    		nums[1] = 20;
    		nums[2] = 40;
    		nums[3] = 70;
    		nums[4] = 100;
    		Scanner input = new Scanner(System.in);
    		System.out.println("请输入一个数字:");
    		int a = input.nextInt();
    		int dex = -1;
    		for (int i = 0; i < nums.length; i++) {
    			if (a < nums[i]) {
    				dex = i;
    				break;
    			}
    		}
    		for (int i = nums.length - 1; i > dex; i--) {
    			nums[i] = nums[i - 1];
    		}
    		nums[dex] = a;
    		for (int num : nums) {
    			System.out.print(num + "	");
    
    		}
    
  • 相关阅读:
    对结构化学习(structured learning)的理解
    【语义分割】large kernel matters中GCN模块的pytorch实现
    【C++】使用find函数快速定位元素
    Python通过Openpyxl包汇总表格,效率提升100倍
    conda环境管理
    C++解决大数组问题
    C++ 赋值运算符重载
    [Android] java代码无错误,但跳转失败
    android 如何从activity跳转到另一个activity下指定的fragment
    绝命毒师口语精析(6)
  • 原文地址:https://www.cnblogs.com/cn-930621/p/6699802.html
Copyright © 2011-2022 走看看