插入排序
package com.jx.p2p.service;
//插入排序 插入排序算法是一个对少量元素进行排序的有效算法
public class Test {
static int x;//当前指向数据
static int y;//当前指向数据前面位置
public static void getinsertMethod(int[] omts){
int length = omts.length;
for(x=1;x<length;x++){//从数组的第二个位置开始执行插入排序,因为假如从第一个数来算的话,找不到插入位置
int current_value = omts[x];
y=x-1;
//顺序从大到小
while(y>=0 && omts[y]<current_value){//遍历当前元素前的《已经进行过插入操作的前半部分数据》 假如前面的元素比当前元素小,就一直往前移动比对
omts[y+1]=omts[y];//满足上面条件情况下,需要将已经排好序的小的元素往后移动,以便将当前元素放置到适合的位置,假如不这样操作的话,会影响整体排序
y--;
}
//找到了能够插入的位置y,证明此时y位置上的值比current_value大,那么此时就将current_value插入到y+1位置上即可,进行下次判断插入
omts[y+1]=current_value;
}
for(int item:omts){
System.out.println(item);
}
}
public static void main(String[] args) {
getinsertMethod(new int[]{23,32,56,98,47,51,24,55});
}
}
相关推荐
本文将深入解析一个包含多种排序算法(冒泡排序、选择排序、插入排序、希尔排序)的Java程序,并通过具体的代码实现来帮助读者理解这些排序算法的工作原理及其实现方式。 #### 二、排序算法详解 ##### 1. 冒泡排序...
本文将详细介绍四种基本的排序算法在 Java 中的实现方法:冒泡排序、选择排序、插入排序以及希尔排序。这些排序算法是计算机科学中非常基础且重要的内容,对于理解数据结构与算法有重要作用。 #### 冒泡排序 冒泡...
根据给定的信息,本文将详细介绍几种经典的Java排序算法:冒泡排序、插入排序以及选择排序。 ### 冒泡排序 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果它们的顺序错误就把...
本文将探讨关于排序方法的一些基础知识,结合提供的文件名,我们可能涉及到选择排序(XuanZe.java)、冒泡排序(MaoPao.java)以及插入排序(ChaRu.java)这三种经典的排序算法。 首先,让我们来理解一下排序的含义...
public static void chaRu(int[] x) { for (int i = 1; i ; i++) { for (int j = i; j > 0; j--) { if (x[j] [j - 1]) { int temp = x[j]; x[j] = x[j - 1]; x[j - 1] = temp; } } } } ``` ### 希尔排序 ...
根据给定文件的信息,本文将详细介绍Python中几种常见的排序算法,包括插入排序(charu)、选择排序(xuanze)、冒泡排序(maopao)以及快速排序(kuaisu)。这些排序方法在数据处理、搜索算法等领域有着广泛的应用...
在给出的Java代码中,三个排序算法都被封装在`Paixu`类中,通过`Maopao`、`Charu`和`Xuanze`方法分别实现冒泡排序、插入排序和选择排序。此外,`Print`方法用于打印排序后的数组,`main`方法则是程序的入口,接收...
`fast_sort`可能是一个实现快速排序的源代码文件,而`sort_practice_charu`可能是用于练习或测试排序算法的另一个程序,可能包含了插入排序的实现。这两个文件可以用来比较和理解这两种排序算法的不同之处,以及在...
在实验中,`charu()` 函数实现了插入排序。首先,让用户输入10个待排序的整数,然后通过两层循环进行排序。外层循环从第二个元素开始遍历数组,内层循环则将当前元素与前一个元素比较,如果前一个元素大于当前元素,...
public static void charu(int[] b) { int n = b.length; int tempI2, j, k; for (int i = 1; i ; i++) { j = 0; while (j [i] > b[j]) { //找插入点 j++; } tempI2 = b[i]; for (k = i; k > j; k--) { //...
- `charu` 方法展现了插入排序的过程,先确定要插入的元素,然后在已排序部分中找到合适的位置,将元素插入,并对已排序的部分做相应的调整。 ### 总结 以上四种排序算法各有特点,但它们都是基于元素间的比较来...
在实验中,`charu()`函数实现了插入排序。程序首先让用户输入10个待排序的整数,然后使用一个外层循环(`for(j=1;j;j++)`)遍历数组,每次取一个未排序的元素(`m=a[j]`),再用一个内层循环(`for(i=j-1;i>=0;i--)`...
void charu(); int quick(); void xier(); void eff(); void quick_sort(); void main() { int x,m,s=0,shz[1000],f,e,i; system("color 4e"); printf(" 1 *** 插入 排序 ***\n 2 *** 二分法排序 ***\n 3 ***...
6.*冒泡排序,选择排序,插入排序,希尔(Shell),快速排序排序Java的实现 */ 7.publicstaticvoidmain(String[]args){ 8.int[]i={1,5,6,12,4,9,3,23,39,403,596,87}; 9.System.out.println("----冒泡排序的结果:")...
【大三JAVA课程设计(学籍管理系统)】 这个项目是一个基于JAVA的学籍管理系统,它采用了GUI(图形用户界面)来提供用户交互。GUI的实现主要依赖于Swing包,这是JAVA提供的一种用于构建图形应用程序的工具包。该...
### Java课程设计 通讯录的制作 #### 一、设计目的与背景 Java课程设计中的“个人通讯录管理系统”项目,旨在让学生通过实践加深对Java基础理论和基本知识的理解,熟练掌握使用Java进行软件设计的基本方法,提升...
在`dll_charu.cpp`中,开发者可能实现了这样的逻辑:在创建新进程的同时,将一个特定的DLL(比如`charu.dll`)加载到目标进程中。 具体实现方式通常有两种:一种是通过修改PE(Portable Executable)文件头,将DLL...
【标题】"Charu_Android_Projects"是一个与Android应用开发相关的项目集合,很可能是一个开源或者个人学习资源的集合。这个项目的重点在于Android平台上的应用编程,使用了Java语言进行开发,这符合Android早期和...
作者是Charu C. Aggarwal,他是IBM T.J. Watson研究中心的研究员。这本书在亚马逊上有不错的评价,适合于深度学习的入门和提高,是一本值得深入学习的资料。 2. 版权信息:文档中提到了版权信息,包括ISBN编号(978...
11. 插入函数的设计:文档中设计了一个插入函数`charu()`,该函数用于插入新的图书信息。 本文档提供了一个完整的图书管理系统的设计和实现,涵盖了图书管理系统的各个方面,例如输入、输出、查询、排序、统计、修改...