当前位置: 首页> 财经> 访谈 > 有域名了怎么建站_网页设计与制作教程教科书_上海网络推广外包_营业推广策略有哪些

有域名了怎么建站_网页设计与制作教程教科书_上海网络推广外包_营业推广策略有哪些

时间:2025/7/9 10:54:28来源:https://blog.csdn.net/DDDiccc/article/details/143625584 浏览次数:0次
有域名了怎么建站_网页设计与制作教程教科书_上海网络推广外包_营业推广策略有哪些

一、基本查找、二分查找

二、分块查找

将数组分块,每一个块中最大值小于后一个块中的最小值:块内无序,块间有序。

块:创建一个块类 

按照规则划分好块之后,对要查询的值设计方法进行查询。

import java.util.Scanner;public class Main {public static void main(String[] args){ //JDK8int arr[]={16,5,12,9,21,18,32,23,37,26,45,34,25,48,61,52,73,66};Block block1=new Block(21,0,5);Block block2=new Block(37,6,11);Block block3=new Block(73,12,17);Block[] blockArr=new Block[]{block1,block2,block3};int index=getBlock(blockArr,52);if(index!=-1){int startindex = blockArr[index].getStartindex();int endindex = blockArr[index].getEndindex();System.out.println("输入你要找的数字: ");Scanner sc=new Scanner(System.in);int number = sc.nextInt();index=getindex(arr,number,startindex,endindex);if(index!=-1)System.out.println("索引: "+index);else System.out.println("不存在");}else System.out.println("不存在");}public static int getBlock(Block[] arr,int number){//确定数字number是在哪个块中for(int i=0;i<arr.length;i++){if(number<arr[i].getMax())return i;}return -1;}public static int getindex(int[] arr,int number,int startindex,int endindex){for(int i=startindex;i<endindex;i++){if(arr[i]==number)return i;}return -1;}}
class Block{int max;int startindex;int endindex;public Block() {}public Block(int max, int startindex, int endindex) {this.max = max;this.startindex = startindex;this.endindex = endindex;}/*** 获取* @return max*/public int getMax() {return max;}/*** 设置* @param max*/public void setMax(int max) {this.max = max;}/*** 获取* @return startindex*/public int getStartindex() {return startindex;}/*** 设置* @param startindex*/public void setStartindex(int startindex) {this.startindex = startindex;}/*** 获取* @return endindex*/public int getEndindex() {return endindex;}/*** 设置* @param endindex*/public void setEndindex(int endindex) {this.endindex = endindex;}public String toString() {return "Block{max = " + max + ", startindex = " + startindex + ", endindex = " + endindex + "}";}
}

三、冒泡排序

     public static int[] MaoPaoSort(int[] arr){int temp;for(int i=0;i<arr.length;i++){for(int j=i+1;j<arr.length;j++){if(arr[j]<arr[j-1]){temp=arr[j];arr[j]=arr[j-1];arr[j-1]=temp;}}}return arr;}

四、选择排序

    public static int[] SelectSort(int[] arr){ //选择排序 小———大int temp;for(int i=0;i<arr.length;i++){for(int j=i+1;j<arr.length;j++){if(arr[i]>arr[j]){temp=arr[i];arr[i]=arr[j];arr[j]=temp;}}}return arr;}

五、插入排序

自己写的:

    public static int[] InsertSort(int[] arr){int N=0,temp,beginindex=0;for(int j=N+1;j<arr.length;j++){if(arr[j]>=arr[N]){}else if(arr[j]<=arr[0]){temp=arr[j];backMove(arr,0,j);arr[0]=temp;}else if(arr[j]>arr[0]&&arr[j]<arr[N]){for(int i=0;i<N;i++){if(arr[j]<arr[i]){beginindex=i;break;}}temp=arr[j];backMove(arr,beginindex,j);arr[beginindex]=temp;}N++;}return arr;}private static int[] backMove(int[] arr,int beginindex,int endindex) {for(int i=endindex;i>beginindex;i--){arr[i]=arr[i-1];}return arr;}

标准答案: 

    public static int[] InsertSort(int[] arr){int N=0,temp,beginindex=0;for(int j=N+1;j<arr.length;j++){while(j>0&&(arr[j]<arr[j-1])){temp=arr[j-1];arr[j-1]=arr[j];arr[j]=temp;j--;}N++;}return arr;}

六、递归算法

递归指方法中调用方法本身的现象。

注意:递归一定要有出口(设定结束递归的条件),否则会造成内存溢出。

递归作用:

把一个复杂的问题层层转换成一个与原问题相似,但规模较小的问题来求解。

只需要少量的程序就可以描述出解题所需要的多次重复计算。

示例:

    public static int getsum(int number){
//返回0~number 所有数的和if(number>0)return number+getsum(number-1);else return 0;}
    public static int getJieChen(int number){//获取number的阶乘if(number==1)return 1;elsereturn number*getJieChen(number-1);}

七、快速排序

   public static void QuickSort(int[] arr,int i,int j){int start=i,end=j;if(start>end){return;}int point=arr[i];//一定要把end部分放在start前面,这样才会在最后递归时指向比基准值小或者等于的元素while(start!=end){while (true) {if (end <= start || arr[end] < point) {break;}end--;}while (true) {if (start >= end || arr[start] > point) {break;}start++;}int temp=arr[start];arr[start]=arr[end];arr[end]=temp;}arr[i]=arr[start];arr[start]=point;QuickSort(arr,i,start-1);QuickSort(arr,start+1,j);}

关键字:有域名了怎么建站_网页设计与制作教程教科书_上海网络推广外包_营业推广策略有哪些

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: