zoukankan      html  css  js  c++  java
  • java冒泡排序和快速排序代码

    冒泡排序:

    package nicetime.com;

    //基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,
    // 让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
    public class BubbleSorted{
    public static int[] BubbleSorted(int[] tempData)
    {
    int[] data=tempData;
    int temp=0;
    for(int i=0;i<data.length-1;i++)
    {
    for(int j=0;j<data.length-1-i;j++)
    {
    if(data[j]>data[j+1])
    {
    temp=data[j];
    data[j]=data[j+1];
    data[j+1]=temp;
    }
    }
    }
    return data;
    }

    public static void main(String[] args)
    {
    int tempData[]={8,54,62,15,25,35,52,18,42};
    int result[]=BubbleSorted(tempData);
    for(int i=0;i<result.length; i++)
    {
    System.out.print(result[i]+"-");
    }
    System.out.print(" ");
    }
    }

    快速排序:

    算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是有序不重复的。 基本思想:假设数据是按升序排序的,对于给定值 x,从序列的中间位置开始比较,如果当前位置值等于 x,则查找成功;若 x 小于当前位置值,则在数列的前半段中查找;若 x 大于当前位置值则在数列的后半段中继续查找,直到找到为止。

    假设有一个数组 { 12, 23, 34, 45, 56, 67, 77, 89, 90 },现要求采用二分法找出指定的数值并将其在数组的索引返回,如果没有找到则返回 -1。代码如下:

    package com.test;

    public class FindSorted{
    public static void main(String[] args) {
    int[] arr = new int[] { 12, 23, 34, 45, 56, 67, 77, 89, 90 };
    System.out.println(search(arr, 12));
    System.out.println(search(arr, 45));
    System.out.println(search(arr, 67));
    System.out.println(search(arr, 89));
    System.out.println(search(arr, 99));
    }

    public static int search(int[] arr, int key) {
    int start = 0;
    int end = arr.length - 1;
    while (start <= end) {
    int middle = (start + end) / 2;
    if (key < arr[middle]) {
    end = middle - 1;
    } else if (key > arr[middle]) {
    start = middle + 1;
    } else {
    return middle;
    }
    }
    return -1;
    }
    }

  • 相关阅读:
    IDEA控制台输出中文乱码问题
    JAVA web 框架集合
    去掉VSS控制
    .Net Core .Net Core V1.0 创建MVC项目
    .Net Core .Net Core的学习
    WebService 天气预报webservice接口
    SMS106 短信验证码接口测试
    Regex 常用的正则表达式
    Jquery Plugins Jquery Validate
    MVC 路由调试工具-RouteDebugger
  • 原文地址:https://www.cnblogs.com/NiceTime/p/6665596.html
Copyright © 2011-2022 走看看