• 数组增删改查及冒泡


    package com.judge;

    //插入功能的实现
    import java.util.Scanner;

    public class Insert {
    public static void main(String[] args){

    int[] a=new int[]{1 ,2 ,3 ,4 ,5 ,6};
    Output(a);
    /*可在main函数之外定义函数关系,以达到快捷应用的目的
    *
    public static void Output(int[] arr1){
    for(int i=0;i<arr1.length;i++){
    System.out.print(arr1[i]);}
    }
    如上:public static void 固定格式不变
    Output 为关系的名
    int[] 为该关系中的变量类型
    arr1 为该关系示例中所作用的对象数组
    public static void main(String[] args) arg:自变量
    public static void Output(int[] arr1)
    */
    for(int i=0;i<a.length;i++){
    System.out.print(a[i]);}
    System.out.println("请输入你要插入的位置:");
    Scanner sc=new Scanner(System.in);
    int index=sc.nextInt(); //index :指数、指针
    System.out.println("请输入你要插的数字:");
    int num=sc.nextInt();


    if(index>0&&index<=a.length-1){
    for(int j=a.length-1;j>index;j--){
    a[j]=a[j-1];
    }
    a[index]=num;
    }else{
    System.out.println("你的输入有误!");
    }
    Output(a); }

    public static void Output(int[] arr1){
    for(int i=0;i<arr1.length;i++){
    System.out.print(arr1[i]);}
    }

    }

    package com.judge;

    //8.数组的修改实现
    import java.util.Scanner;
    //不完善
    public class Alter {
    public static void main(String[] args) {
    {
    Input();
    }
    }
    public static void Run(int a[],int index){
    if(index<a.length){
    for(int i=index;i<a.length-1;i++){
    a[i]=a[index];

    }
    System.out.println(a[index]);
    }
    else{
    System.out.println("输入要修改的位置有误,请重新输入位置:");
    Input();
    }
    }
    public static void Input(){
    Scanner sc=new Scanner(System.in);
    int arr[]=new int[]{1,2,3,4,5};
    System.out.println("请输入要修改的元素的位置:");
    int index=sc.nextInt();
    Run(arr,index);
    }


    }

    package com.judge;
    //删除功能的实现
    import java.util.Scanner;
    import java.util.Scanner;

    public class Delete {
    public static void main(String[] args) {

    int[] b=new int[]{1,2,3,4,5,6};
    //定义数组:int[] b=new int{1,2,3,4,5,6};
    show(b);
    delete(b);
    }
    public static void delete(int[] array){
    System.out.print("请输入你要删除的位置:");
    Scanner sc=new Scanner(System.in);
    int index=sc.nextInt();
    if(index>=0&&index<=array.length-1){
    for(int i=index;i<array.length-1;i++){
    array[i]=array[i+1];
    }array[array.length-1]=0;
    show(array);
    }else{
    System.out.print("你的输入有误!");
    }
    }
    public static void show(int[] array){
    for(int i=0;i<array.length;i++){
    System.out.print(array[i]);
    }
    }
    }

    package com.judge;

    import java.util.Scanner;

    public class Inquiry {
    //查询功能的实现
    public static void main(String[] args) {
    int[] a=new int[]{1 ,2 ,3 ,4 ,5 ,6};
    insert(a);
    }
    public static void insert(int[] array){
    System.out.println("请输入你要查询的位置:");
    Scanner sc=new Scanner(System.in);
    int index=sc.nextInt();
    if(index>=0&&index<=array.length){
    for(int i=index;i<array.length-1;i++){
    array[i]=array[index];
    }
    System.out.println(array[index]);
    }

    else{
    System.out.print("你的输入有误!");
    }

    }
    }

    package com.judge;
    //10.
    /*冒泡排序法实现,自己先定义数组,然后排序
    * 缺点:不能实现输入数据后排序的功能
    * 输入排序见BubbleZh
    * */
    public class BubbleMe {
    public static void main(String[] args){
    int[] a=new int[]{1,3,6,9,5,3,7};
    System.out.println("排序前的数组:");
    for(int i=0;i<a.length;i++){
    System.out.print(a[i]);
    }System.out.println();
    int temp;
    for(int j=0;j<a.length;j++){
    for(int k=0;k<a.length;k++){
    if(a[k]<a[j]){
    temp=a[j];
    a[j]=a[k];
    a[k]=temp;
    }
    }
    }
    System.out.println("排序后的数组:");
    for(int i=0;i<a.length;i++){
    System.out.print(a[i]);
    }
    }
    }

    package com.judge;
    //功能更加全面的冒泡程序
    import java.util.Scanner;

    public class BubleZh {
    //利用冒泡法进行排序
    //为什么叫做是“冒泡”排序?
    //这个算法的名字由来是因为越小或越大的元素会经由交换慢慢“浮”到数列的顶端,故名


    public static void main(String[] args) {

    Scanner scanner =new Scanner(System.in);
    System.out.printf("请输入六个数:");
    int[] score = new int[6];
    for(int i = 0; i < score.length; i++){
    score[i] = scanner.nextInt();
    }

    //int[] a = new int[]{53, 98, 9, 34, 56, 38};
    PubbleSort(score);
    // TODO Auto-generated method stub

    }

    public static void PubbleSort(int[] array){
    int temp;
    for(int x = 0; x < array.length - 1; x++ ){//这里是竖列的for循环,array.length是6个,而竖列只有5列, 所以应该是array.length-1
    for(int y = 0; y < array.length - 1 - x; y++){
    //在这里,第一次循环是5次,应该是array.length-1;但这是嵌套的for循环,第二次循环还是
    //5次,所以这里的y < 这个值应该是个变量,通过发现每次循环,都会次数减少,次数应该是5,4,3,2,1,而x的变化正好是0,1,2,3,4
    //所以次数:5-0=5, 5-1=4, 5-2=3, 5-3=2, 5-4=1;所以根据规律发现再- X 即可。
    if(array[y] > array[y+1]){ //这里的y是0,1,2,3,4变化,所以y 与 y+1 即可
    temp = array[y];
    array[y] = array[y+1];
    array[y+1] = temp;
    }
    }
    }
    for(int z = 0; z < array.length ; z++){
    System.out.print(array[z]+" ");
    }
    }

    }
    /*
    思路:
    0 1 2 3 4 5
    0-1 1-2 2-3 3-4 4-5
    0-1 1-2 2-3 3-4
    0-1 1-2 2-3
    0-1 1-2
    0-1

    先是第一个和第二个比较,谁大谁排后,然后第二个和第三个比较,谁打谁拍后,第三个和第四个。。,第四个和第五个比较,完毕之后
    第五个就是最大的,第五个就不用动;然后继续第一个和第二个比较,谁大谁排后,第二个和第三个。。。。就这样后第四个是倒数第二个大的
    就这样比到最后,最后就只剩第一个和第二个比较;
    通过上述,明显是两个for循环的嵌套。
    */

  • 相关阅读:
    hive原理和调优
    python+Eclipse+pydev环境搭建
    使用eclipse上Tomcat插件配置域名、端口号、启动时间详解
    java工具包一:日期处理
    枚举传参,枚举使用详解
    java面试题大全
    八:Lombok 安装、入门
    Java8一:Lambda表达式教程
    七:程序员必读书单
    二:熟悉 TCP/IP 协议
  • 原文地址:https://www.cnblogs.com/zjfjava/p/5738977.html
Copyright © 2020-2023  润新知