zoukankan      html  css  js  c++  java
  • 学习笔记之for循环if循环小练习

    /*在这五个数字的后面加上任意数字*/

     1 var a =[7,12,16,20,25];
     2 var b =prompt(); //定义想再加的数为b,这样就可以在前端输入任意一个数字*/
     4 for(i=0;i<a.length;i++)
     5 {
     6 if(a[i]==b)  /*之前一直想的是当b不等于a中的任意数,其实也可以当b等于a中数时跳出*/
     7 {
     8  break;
     9 }
    10 if(i=a.length-1)  /*长度是指这里有几个数就是几个长度,这里是5个长度;i表示的是位置,位置是从0开始数起,所以 若想让i到25这个数的位置,则i=4,与长度的关系为:长度-1*/
    11 {
    12 a[i+1]=b; 
    13 }
    14 }
    15 alert(a);

    /*冒泡排序:按照从小到大的顺序排列9,8,7,6,5,4,3,2,1*/

     1 var a=[9,8,7,6,5,4,3,2,1];//把数组定义上
     2 var b=0;   //定义一个中间值,赋予它任意数值都行,因为他会被替代掉。
     3 for(i=0;i<a.length-1;i++)//这里的i代表的是纵向对比循环的次数,第一个数9与第二个数8比,8与7比,依次比到最后,一共 
     4                           //比7次,长度是9,所以小于长度减去1是循环7次。
     5 {for(l=0;l<a.length-1;l++)  //外围是纵向比,里面是横向比
     6 {
     7 if(a[l]>a[l+1])
     8 {
     9 b=a[l];
    10 a[l]=a[l+1];
    11 a[l+1]=b;
    12 }
    13 }
    14 }
    15 alert(a);
    16 //document.write("<br>");加个空格
    17 //document.write(a);把过程写出来

    /*在一串数组中查找某个值的位置:1,4,5,3,2,7,6,9*/

     1 var a=[1,4,5,3,2,7,6,9];
     2 var b=0;//定义我们想查找的值
     3 for(i=0;i<a.length;i++)
     4 {
     5 if(b==a[i])
     6 {
     7  b=i //当b的值等于a里面的数值时,把i的值赋予给b,就不会再走下面不等于的情况
     8  alert("索引号"+i);
     9 }
    10 else if(b==0)
    11 {
    12     alert("数值不存在!");
    13     break;
    14 }
    15 }

     数组 -- 折半方法查找某个值

    //数组的查找操作
    
    
    class  
    {
    	public static void main(String[] args) 
    	{
    		int[] arr = {3,5,1,2,6,11}
    		int index = getIndex (arr,33);
    		System.out.println("index ="+ index);
    	}
    	//有一个有序的数组,如果想要将一个元素插入到该数组汇总,还要保证该数组
    	//是有序的,如何获取该元素在数组中的位置
    	//答 ,用折半的方式,如果有这个数则插入这个数的位置,如果没有,
    	//则返回最小角标的位置
    
    //折半第二种方式
    poublic static int halfSearch_2 (int[] arr, int key){
    int min = 0 ; max = arr.length- 1; mid;
    	while (min <=max){
    		mid = (max +min) >>1;  //也是/2 的意思
    		if(key > arr[mid]){
    			min = mid  + 1;
    		}else if (key < arr[mid]){
    			max = mid -1;
    		}else 
    			return mid ;
    	}
    	return -1;
    	//如果想要找到插入的位置,就return min ;
    }
    
    //折半查找法,提高效率
    //必须保证这个数组是有序的
    
    	poublic static int halfSearch(int[] arr, int key){
    						//传入一个数组名,传入一个要查找的值
    	//定义数组的三个角标 最小 最大 中间值,用这个来折半查找
    		int min ,max, mid;
    		min = 0 ;
    		max = arr.length- 1;
    		mid = (max +min )/2;
    
    		while (arr[mid] != key){  
    		//当想查找的值不等于中间角标对应的值时,进行判断
    			if (key > arr[mid]){
    	//当key大于中间角标对应的值时, 最小角标变为中间角标+1.这样下一次想查找
    	//的值就会从中间角标后面那个角标值开始查找啦
    				min = mid +1;
    			}else if ( key < arr[mid]){
    				max = mid - 1;}
    				//下面是判断完成后,可以继续循环查找
    				if(min > max){
    					return -1;}
    				mid = (max +min )/2;
    		}
    		return mid;
    	}
    
    	public static int getIndex(int[] arr, int key ){
    		for(int x = 0;x<arr.length; x++){
    		if(arr[x] == key)
    			return x;
    		}
    	return -1;
    	//如果没有找到,则返回-1.用角标-1,表示.因为通常数组角标从0开始
    	//返回-1表示角标不存在,也就是数不存在.也就是没有找到这种情况
    	}
    }
    

      

    /*求3,5,7在数组中出现的次数
    1,4,3,5,9,9,3,2,4,6,2,1,3,5,7,9,0,5,3,5,2,1,5,6,7,8,2,4,6,8,0,5*/

     1 var attr = [1,4,3,5,9,9,3,2,4,6,2,1,3,5,7,9,0,5,3,5,2,1,5,6,7,8,2,4,6,8,0,5,7,4,6,2,6,];
     2 var c3 = 0;
     3 var c5 = 0;
     4 var c7 = 0;//定义数组,定义我们想查的数的次数,给他们一个初始值,可以用switch,也可以用if做
     5 for(var i=0;i<attr.length;i++)
     6 {
     7 switch(attr[i])
     8 {
     9 case 3://这里写条件,代表:如果数值等于3
    10 c3++;//每循环一次,次数加一,所以最后输出c3,c5,c7就行了
    11 break;
    12 case 5:
    13 c5++;
    14 break;
    15 case 7:
    16 c7++;
    17 break;    
    18 }    
    19 }
    20 alert(c3);
    21 alert(c5);
    22 alert(c7);
  • 相关阅读:
    《应用Yii1.1和PHP5进行敏捷Web开发》学习笔记(转)
    YII 小模块功能
    Netbeans代码配色主题大搜集
    opensuse 启动巨慢 解决方法 90s多
    opensuse 安装 网易云音乐 rpm netease music
    linux qq rpm deb opensuse
    openSUSE 安装 alien
    第一行代码 Android 第2版
    Android Studio AVD 虚拟机 联网 失败
    docker error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuratio
  • 原文地址:https://www.cnblogs.com/ziyanxiaozhu/p/7698832.html
Copyright © 2011-2022 走看看