/* 在一个有序的数组中插入一个元素 */ class ArrayInsert { public static void main(String[] args) { int[] arr = new int[]{1,6,9,11,18,54,60,66,90}; System.out.println("insert 19 to array:"); printArr(arr); int[] newArr = insert( arr, 19 ); printArr( newArr ); }//end of method main //打印一个数组 public static void printArr(int[] arr) { for (int x = 0; x<arr.length; x++ ) { if (x == arr.length - 1) { System.out.println(arr[x]); break; } System.out.print(arr[x] + "\t"); } }//end of method printArr //在数组中插入一个元素 public static int[] insert( int[] arr, int insertKey ) { int loc, mid; int[] newArr = new int[arr.length + 1]; mid = locFind( arr, insertKey ); //插入新元素操作,分三种情况,在首部,在尾部,在中间 if (insertKey < arr[0])//在首部 { newArr[0] = insertKey; for ( int x = 1; x <= arr.length; x++ ) { newArr[x] = arr[x - 1]; } } else if (insertKey > arr[arr.length - 1])//在尾部 { int x; for (x = 0 ; x < arr.length ; x++ ) { newArr[x] = arr[x]; } newArr[x] = insertKey; } else//在中间 { for ( loc = 0; loc <= mid; loc++ )//插入位之前的元素赋值给新数组 { newArr[loc] = arr[loc]; } newArr[loc] = insertKey; for ( loc++; loc < newArr.length; loc++ )//插入位之后的元素赋值给新数组 { newArr[loc] = arr[loc - 1]; } } return newArr; }//end of method insert //用折半查找法找到元素应该插入数组的位置并返回 public static int locFind( int[] arr, int insertKey ) { int min, mid, max; min = 0; max = arr.length; mid = ( max + min ) / 2; while ( min < max ) { if ( insertKey > arr[mid] ) { min = mid + 1; } else if ( insertKey < arr[mid] ) { max = mid - 1; } mid = ( max + min ) / 2; }//end of while return mid; }//end of method locFind }//end of class ArrayInsert
相关推荐
折半查找算法在顺序表中插入一个元素讲解.pdf
由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围...
javascript 折半查找字符在数组中的位置(有序列表).docx
数据结构中的折半查找程序,C语言描述,数据结构中的折半查找程序,C语言描述
数据结构中的折半查找和插入排序(利用插入排序的方式对一组数进行排序),数组中的数需要自己输入,很简单的代码
2.有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。以15个数用赋初值的方法在程序中给出。要找的数用scanf函数输入。
Visual C++,有序数组的折半查找,和顺序查找法相比,其速度更快。
代码如下:/** * 折半查找字符在数组中的位置(有序列表) * @param array 被检索的数组 * @param x 要查找的字符 * @type int * @returns 字符在数组中的位置,没找到返回-1 */ function binarySearch(array,x){ var ...
C语言程序设计-查找算法:读懂、掌握顺序查找、折半查找算法 编写程序在数组中查找一个数。要求: ⑴用顺序查找实现; ⑵用折半查找实现。 注:若有该数,则输出该数,否则输出“无此数”。
在该程序中,实现了在10个元素中查找20,用了顺序查找方法和折半查找方法。
JAVA 数据结构二分法查找代码。(实验)
java 快速排序 折半查找的界面实现 (递归与分治法)
折半查找是一种数据结构算法 非常有用 我们用C语言实现了查找 简单有效
编写Search_Bin函数,实现在一个递增有序数组ST中采用折半查找法确定元素位置的算法. Input 第一行:元素个数n 第二行:依次输入n个元素的值(有序) 第三行:输入要查找的关键字key的值 Output 输出分两种情形:...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
在Java中,如果我们想要在一个递增有序的数组中插入一个新的元素,我们可以使用二分查找来确定插入的位置。以下是一个示例方法: 这个程序首先定义了一个递增有序的数组,然后使用二分查找找到应该插入新元素的位置...
折半查找 折半查找5.java 使用java代码实现 折半查找5.java 使用java代码实现 折半查找5.java 使用java代码实现折半查找5.java 使用java代码实现
使用折半查找,输入一个整数,查找是否在数组中,如在给出下标,否则-1
会变课程设计 任意输入待比较的一组数据,排序,之后再输入需要查找的数,运行即可实现折半查找,界面友好
递归调用的折半查找java代码,算法分析与设计实验报告。