zoukankan      html  css  js  c++  java
  • Java基础实例

    打印等腰三角形代码
    
    public class ForForTest{
        public static void main(String []args){
            for(int x=0;x<5;x++){
                for(int y=x+1;y<5;y++){
                    System.out.print(" ");
                }
                for(int z=0;z<x;z++){
                    System.out.print("* ");
                }
                System.out.println();
            }
        }
    }
    
    折半查找代码:
    
    //练习:给一个数值。要求插入给定数组中,而且保证插入后数组按一定的顺序排列
    public class ArrayTest2{     //数组查找数值
        public static void main(String []args){
            int arr[] = {1,2,3,4,5,6,7,88,9,10};
            int index = getIndex(arr,8);  
            System.out.println("keyword存在在数组中的第"+(index+1)+"位");
        }
        public static int halfSeach_2(int arr[],int key){    //另外一种 折半方法。

    依照索引值进行比較 int max,min,mid; min = 0; max = arr.length - 1; while(min<=max){ //条件为真的时候进行比較 mid = (max+min)/2 ; //位运算 相当于除2 if(key>arr[mid]) min = mid +1 ; else if(key < arr[mid]) max = mid -1; else return mid; } return -1; } //得到 该数值插入到数组中的第几位 //思路:利用折半查找,假设找到数组中有相应的数,便将该数插入到该位置,若没有找到那么返回折半索引的最小位。 public static int getIndex(int arr[],int key){ int max,min,mid; min = 0; max = arr.length - 1; mid = (max + min) / 2; while(key != arr[mid]){ //当 关健值 不等于 中间值时。进行折半查找。 if(key>arr[mid]) min = mid +1 ; else max = mid -1; if(min > max) return min; mid = (max + min)/2; } return mid; } /* 折半查找: 前提是 数组是个有序的数列 1、首先定义数组最大索引和最小索引 2、算出中间索引值 3、将相应的中间索引值与关健值比較-----> if(key>arr[mid]) min = mid+1;else if(key<arr[mid]) max = mid-1; */ public static int halfSeach(int arr[] , int key){ int max,min,mid; min = 0; max = arr.length - 1; mid = (max + min) / 2; while(key != arr[mid]){ //当 关健值 不等于 中间值时,进行折半查找。 if(key>arr[mid]) min = mid +1 ; else max = mid -1; if(min > max) return -1; mid = (max + min)/2; //循环中一直进行折半。

    } return mid; } } 排序算法的代码,包含冒泡、选择、折半排序 import java.util.*; public class ArrayTest{ public static void main(String []args){ int []arr = {23,3,1,53,43,13,10}; //排序前 printArray(arr); //排序 //selectSort(arr); bobleSort(arr); //Arrays.sort(arr); //java中已经封装好的排序算法 //排序后 printArray(arr); } //选择排序 public static void selectSort(int []arr){ for(int x=0;x<arr.length-1;x++){ for(int y=x+1;y<arr.length;y++){ if(arr[x]>arr[y]){ swap(arr,x,y); } } } } //冒泡排序:每次比較相邻的元素,满足条件的换位。每一层循环之后,最大值回到元素的顶端。因此比較时内层循环数组值降低一位。 public static void bobleSort(int arr[]){ for(int x=0;x<arr.length-1;x++){ for(int y=0;y<arr.length-x-1;y++){ //减1 的原因是。防止数组越界。 if(arr[y]>arr[y+1]){ swap(arr,y,y+1); } } } } //交换元素 public static void swap(int arr[],int a ,int b ){ int temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; } //打印数组 public static void printArray(int arr[]){ System.out.print("["); for(int i=0;i<arr.length;i++){ if(i != arr.length-1){ System.out.print(arr[i]+","); }else{ System.out.print(arr[i]); } } System.out.print("]"); System.out.println(); } }




  • 相关阅读:
    linux学习之linux的hostname修改详解《转》
    不想作死系列--win7远程linux桌面之vncserver
    不想作死系列---virtualbox最小化安装centos6.5
    基于支持向量机的车牌识别-- opencv2.4.7+vs2012环境搭建
    python文件的中文处理以及个人思路
    haskell学习笔记<1>--基本语法
    提醒
    C语言矩阵传递给函数的方法
    0x01数据结构——C语言实现(二叉查找树)
    0x01数据结构——C语言实现(二叉树)
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6907938.html
Copyright © 2011-2022 走看看