精华内容
下载资源
问答
  • 今天吾爱编程为大家介绍一下java的经典实例将一个数组逆序输出,相信很多学习java的小伙伴都会接触到,有需要的小伙伴可以参考一下:1、需求分析:用第一个与最后一个交换, 第二个与倒数第二个交换,第三个与倒数第...

    今天吾爱编程为大家介绍一下java的经典实例将一个数组逆序输出,相信很多学习java的小伙伴都会接触到,有需要的小伙伴可以参考一下:

    1、需求分析:

    用第一个与最后一个交换, 第二个与倒数第二个交换,第三个与倒数第三个交换,一直到中间的那个数为止

    2、程序代码:public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    int arr[] = new int[20];

    System.out.println("请输入多个正整数(输入-1表示结束):");

    int digit = 0, j;

    do {

    int num = sc.nextInt();

    if (num == -1) {

    break;

    }

    arr[digit++] = num;

    } while (arr[digit - 1] != -1);

    System.out.println("你输入的数组为:");

    for (j = 0; j 

    System.out.print(arr[j] + "   ");

    }

    System.out.println("\n数组逆序输出为:");

    for (j = digit - 1; j >= 0; j--) {

    System.out.print(arr[j] + "   ");

    }

    }

    以上就是吾爱编程为大家介绍的关于java的经典实例将一个数组逆序输出的方法,了解更多相关文章请关注吾爱编程网!

    展开全文
  • 题目:给定数组,与指定k...查找数组倒数第k大的值。 要求:使用快速排序思想。 代码如下 public class QuickSort { public static void sort(int[]arr){ int n=arr.length; if(n<=1){ return; } quickS...

    题目:给定数组,与指定k。查找数组中倒数第k大的值。
    要求:使用快速排序思想。
    代码如下

    public class QuickSort {
        public static void sort(int[]arr){
            int n=arr.length;
            if(n<=1){
                return;
            }
            quickSort(arr,0,n-1);
        }
        private static void quickSort(int[]arr,int start,int end){
            int par=partition(arr,start,end);
            if(par>start+1){
                quickSort(arr,start,par-1);
            }
            if(par<end-1){
                quickSort(arr,par+1,end);
            }
        }
        private static int partition(int[]arr,int low,int high){
            int tmp=arr[low];
            while (low<high){
                while ((low<high)&&arr[high]>=tmp){
                    high--;
                }
                if(low>=high){
                    break;
                }else {
                    arr[low]=arr[high];
                }
                while ((low<high)&&arr[low]<=tmp){
                    low++;
                }
                if(low>=high){
                    break;
                }else {
                    arr[high]=arr[low];
                }
            }
            arr[low]=tmp;
            return low;
        }
        public static int find(int arr[],int len,int k){
            QuickSort.sort(arr);
            int i=arr[len-k];
            return i;
        }
    
        public static void main(String[] args) {
            int[] arr={1,3,5,2,2};
            System.out.println(find(arr,5,3));
        }
    }
    
    

    输出结果:运行结果

    展开全文
  • Java数组乱序

    2018-11-26 19:43:48
    java数组乱序,把自己的理解写出来,有错误希望指出。 通过随机数做下标来跟后面的数作交换。 总的来说就是就是把取过的往后移,没取过的往前拿,同时不断缩小随机数的取值范围。每次交换的都是没取过的值 也...

    java的数组乱序,把自己的理解写出来,有错误希望指出。
    通过随机数做下标来跟后面的数作交换。 总的来说就是就是把取过的往后移,没取过的往前拿,同时不断缩小随机数的取值范围。每次交换的都是没取过的值
    也可以通过一个新数组来存储每次随机下标取到的值,来达到乱序的目的,因为每次取到的值都是不同的。具体可以自己写代码实现看下

    public static void test() {
    		Random rd =new Random();
    		String [] str= {"指","鹿","为","马"};//乱序前的数组
    		for (int i = 0; i < str.length; i++) {
    			int c = rd.nextInt(str.length - i);//接收每次产生的随机数
    			System.out.print(c+" ,");//打印随机数
    			//交换数组内容
    			String tem = str[str.length - i - 1];
    			str[str.length-1-i] =str[c];
    			str[c] = tem;
    		}
    		System.out.println();
    		System.out.println(Arrays.toString(str));
    	}
    

    随机下标,且每次循环后取值范围都减一,以此来达到不会取到倒数第i个及之后的值

    int c = rd.nextInt(str.length - i);
    

    随机下标取中的值每次于倒数第i个值做交换

    String tem = str[str.length - i - 1];
    			str[str.length-1-i] =str[c];
    			str[c] = tem;
    

    运行效果图
    一次乱序
    过程解释图
    过程解释
    八次乱序结果图
    乱序效果
    编程大白,第一次写博客。写的不好请指教。
    …苦笑脸

    展开全文
  • Java数组

    2021-02-27 15:01:52
    什么是数组数组声明:数组创建:数组存储:数组都有默认值内存:栈内存、堆内存、方法区、本地方法栈(和其他语言交互)、寄存器(汇编)栈内存:可以用于存储变量,栈内存对存入其中的变量不会自动赋值,变量在使用完成...

    一.什么是数组

    8b87590718905a5abcecdfa19bd4ac4c.png

    数组声明:

    38d4d370bffb94b58b82da20b4476f45.png

    b32ac6b58b1a819342bdf0b87350db73.png

    数组创建:

    41259f2e3662ee97eaa10a5387af2b71.png

    fc45a5c60f6922daaf4584c81ee08b7a.png

    数组存储:

    967e7284938933d7bbee5c19bd7e4d0b.png

    数组都有默认值

    内存:

    栈内存、堆内存、方法区、本地方法栈(和其他语言交互)、寄存器(汇编)

    栈内存:

    可以用于存储变量,栈内存对存入其中的变量不会自动赋值,变量在使用完成之后会立即移出栈内存释放空间

    堆内存:

    用于存储对象的,堆内存对于存入其中的元素会自动的赋予初始值---byte/short/int-0,long-0L;float-0.0f,double-0.0,char- ‘\u0000’,boolean-false,引用数据类型的默认值都是null,对象使用完成之后不会立即移出堆内存,而是在不定的某个时刻被回收

    bd452ea49b2b5d85d38f6884a8f005c4.png

    14120f7a3e34cf022c5d27be87bb9c4b.png

    1b46ac9eb54c65d2db7a40bf5564f239.png

    43e25f5c0d819cec54a8c1218ceeace5.png

    4dd2ef31773dbe96bc47b000174345e3.png

    数组元素的初始化:

    789d600ef8debf7e986ad2ffe6367cfd.png

    数组元素的引用:

    0555ec530b1fec6041ce4e3f723bc816.png

    数组的长度:a.length,是一个属性

    数组例:

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    1 packagecom.imooc.array;2

    3 public classArray_test {4

    5 public static voidmain(String[] args) {6 //TODO Auto-generated method stub7 //声明一个整型数组(声明未创建内存空间)

    8 int[] intArray;9 //声明一个字符串类型的数组(两种方法都可以)

    10 String strArray[];11 //创建数组

    12 intArray=new int[5];13 strArray=new String[10];14 //声明数组的时候同时创建

    15 float[] floaArray=new float[10];16 //初始化数组,长度就是个数

    17 char[] ch={'a','b','c','d'};18 //长度

    19 System.out.print("ch的长度为"+ch.length);20 System.out.println("intArray的第二个元素为:"+intArray[1]);21 System.out.println("intArray的最后一个元素为:"+floaArray[floaArray.length-1]);22 //循环为整型数组赋值

    23 for(int i=0;i<5;i++){24

    25 intArray[i]=i+1;26 }27 //循环打印值,注意不要越界

    28 for(int i=0;i<5;i++){29 System.out.print(intArray[i]+" ");30 }31 }32

    33 }

    View Code

    数组求和:

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    1 packagecom.imooc.array;2

    3 importjava.util.Scanner;4

    5 public classArray_Add {6

    7 public static voidmain(String[] args) {8 //TODO Auto-generated method stub

    9 int[] intArray=new int[5];10 Scanner sc=newScanner(System.in);11 for(int i=0;i

    15 }16 //计算和

    17 int sum=0;18 for(int i=0;i

    23

    24 }25

    26 }

    View Code

    增强型循环:(foreach循环):

    30a7e40d53309d23b54324316e269705.png

    增强型例:

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    1 packagecom.imooc.array;2

    3 public classNew2 {4

    5 public static voidmain(String[] args) {6 //TODO Auto-generated method stub

    7 int[] arr={1,2,3,4,5};8 for(intn:arr){9 System.out.print(n+" ");10 }11

    12 }13

    14 }

    View Code

    ada3d9a033e2e2f170a3e5e137b6b11f.png

    这个和Python不同,Python中是类似与指针指向(引用),直接a,b=b,a就交换了值,更节省空间

    Java冒泡:(原理一样,Python利用range()循环即可,交换值直接交换)

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    1 packagecom.imooc.array;2

    3 public classBuddleSort {4

    5 public static voidmain(String[] args) {6 //TODO Auto-generated method stub

    7 int[] arr={1,2,434,1,0,3,54,56};8 inttemp;9 for(int i=0;iarr[j+1]){12 temp=arr[j];13 arr[j]=arr[j+1];14 arr[j+1]=temp;15 }16 }17 }18 for(intn:arr){19 System.out.print(n+" ");20

    21 }22

    23 }24

    25 }

    View Code

    二.Python中数组对比(array模块)

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    1 计算机为数组分配一段连续的内存,从而支持对数组随机访问;2 由于项的地址在编号上是连续的,数组某一项的地址可以通过将两个值相加得出,即将数组的基本地址和项的偏移地址相加。3 数组的基本地址就是数组的第一项的机器地址。一个项的偏移地址就等于它的索引乘以数组的一个项所需要的内存单元数目的一个常量表示(在python中,这个值总是1)4

    5 importarray6 #array模块是python中实现的一种高效的数组存储类型。它和list相似,但是所有的数组成员必须是同一种类型,在创建数组的时候,就确定了数组的类型

    7

    8 #array.array(typecode,[initializer]) --typecode:元素类型代码;initializer:初始化器,若数组为空,则省略初始化器

    9 arr = array.array('i',[0,1,1,3])10 print(arr)11

    12 #array.typecodes --模块属性

    13 print('\n输出一条 包含所有可用类型代码的字符串:')14 print(array.typecodes) #注意调用者是模块名,不是某个对象

    15

    16 #array.typecode -- 对象属性

    17 print('\n 输出 用于创建数组的类型代码字符:')18 print(arr.typecode)19

    20 #array.itemsize --对象属性

    21 print('\n输出 数组的元素个数:')22 print(arr.itemsize)23

    24 #array.append(x) --对象方法

    25 print('\n将一个新值附加到数组的末尾:')26 arr.append(4)27 print(arr)28

    29 #array.buffer_info() -- 对象方法

    30 print('\n获取数组在存储器中的地址、元素的个数,以元组形式(地址、长度)返回:')31 print(arr.buffer_info())32

    33 #array.count(x) -- 对象方法

    34 print('\n获取元素1在数组中出现的次数:')35 print(arr.count(1))36

    37 #array.extend(iterable) -- 对象方法:将可迭代对象的袁旭序列附加到数组的末尾,合并两个序列

    38 print('\n将可迭代对象的元素序列附加到数据的末尾,合并两个序列:')39 #注意:附加元素数值类型必须与调用对象的元素的数值类型一致

    40 _list = [5,6,7]41 arr.extend(_list)42 print(arr)43

    44 #array.fromlist(list) --对象方法:将列表中的元素追加到数组后面,相当于for x in list:a.append(x)

    45 print('\n将列表中的元素追加到数组后面,相当于for x in list:a.append(x):')46 arr.fromlist(_list)47 print(arr)48

    49 #array.index(x) --对象方法:返回数组中x的最小下标

    50 print('\n返回数组中1的最小下标:')51 print(arr.index(1))52

    53 #array.insert(1) --对象方法:在下表i(负值表示倒数)之前插入值x

    54 print('\n在下表1(负值表示倒数)之前插入值0:')55 arr.insert(1,0)56 print(arr)57

    58 #array.pop(i) --对象方法:删除索引为i的项,并返回它

    59 print('\n删除索引为4的项,并返回它:')60 print(arr.pop(4))61 print(arr)62

    63 #array.remove(x) --对象方法:删除第一次出现的元素x

    64 print('\n删除第一次出现的元素5:')65 arr.remove(5)66 print(arr)67

    68 #array.reverse() --对象方法:反转数组中的元素值

    69 print('\n将数组arr中元素的顺序反转:')70 arr.reverse()71 print(arr)72

    73 #array.tolist():将数组转换为具有相同元素的列表(list)

    74 print('\n将数组arr转换为已给具有相同元素的列表:')75 li =arr.tolist()76 print(li)

    View Code

    20749a1ba998458a2a4c5ca972fb436d.png

    展开全文
  • 本关任务:使用直接选择排序(按升序)对给定的数组排序,并输出每次排序结果以及排序完成后的数组。 相关知识 直接选择排序 直接选择排序是一种简单的排序算法。首先在未排序序列中找到最小(大)元素,存放到排序...
  • java数组

    2021-02-27 17:00:17
    1 数组1.1 创建一维数组一维数组实质上是一组相同类型数据的线性集合,当在程序中需要处理一组数据或者传递一组数据时,可以用这种类型的数组数组作为对象允许使用new关键字进行内存分配。在使用数组之前必须定义...
  • JAVA数组最详细讲解(完整版)】

    千次阅读 多人点赞 2021-01-30 17:38:27
    数组11.11.1.1 1 1.1 1.1.1
  • 反转排序的意思就是用相反的顺序输出原来的数组内容。 实现步骤: 将第一个与最后一个替换,第二个与倒数第二个替换,以此类推。 具体代码如下: public class xunlian { public static void main(String[] ...
  • Java 数组

    2021-03-08 09:34:38
    程序=算法+数据结构,所谓数据结构,简单说就是把数据按照特定的某种结构来保存,设计合理的数据结构是解决问题的前提,数组就是最基本的一种数据结构。1.数组介绍相同数据类型的元素组成的集合,如20个成绩、100个...
  • java基础--逆序输出数组元素

    千次阅读 2017-05-28 23:22:06
    数组第二个值和倒数第二个值交换 。。。 注意交换至数组长度1/2处完成全部交换 案例: package com.lcn.day05; public class ArrayDemo56 { /** *数组元素逆序输出 */ public static void main
  • java算法:将一个数组逆序输出

    千次阅读 2020-06-24 22:54:00
    题目:将一个数组逆序输出。 for(int k=11;k>=1;k--) System.out.print(myarr[k]+",");
  • Java数组的排序算法

    2021-02-27 17:00:00
    Java中,实现数组的排序算法有很多,如冒泡排序法、选择排序法、直接插入法和快速排序法、归并排序等。下面介绍几种排序算法的具体 实现。本文引用文献:Java必须知道的300个问题。1.冒泡排序法1.1 基本思想:比较...
  • 文章目录查找直接选择排序冒泡排序直接选择排序和冒泡排序的优缺点查找顺序查找折半查找顺序查找和折半查找 ...import java.util.Arrays; public class SortTest { public static void main(String[] args) {
  • 数组的转置就是将数组的内容倒序进行保存。例如:数组从下标0开始元素内容为1,2,3,4,5,6,将这个数组转置以后从下标0开始元素内容为6,5,4,3,2,1。一维数组的转置思路一、定义一个新的数组,将原始数组按照倒序的方式...
  • 一、数组的概念与使用 1、概念 2、定义 3、使用 二、数组的遍历与默认值 1、遍历 2、默认值 三、数组的高级应用 1、扩容 2、插入 3、排序 四、拓展与练习 1、小拓展 2、机试题 一、数组的概念与使用 ...
  • 常用的对数组进行的操作1、求数组中最大值,最小值思路:假设下标为0的元素是最大值,遍历数组,依次跟max进行比较,如果有元素比这个max还大,则把这个值赋给max。最小值同样public class TestArray{public static ...
  • 编程练习:二维数组逆序输出

    千次阅读 2020-01-11 19:39:41
    //二维数组逆序 //总共有奇数行还是偶数行 //偶数行 第一行和最后一行逆序交换,第二行和倒数第二行 //若共有奇数行,注意最中间的那行,单独进行逆序交换 #include<stdio.h> int main() { int a[3][4]; ...
  • java反转数组

    2020-08-09 17:36:35
    实现思路就是把数组的最后一个元素和第一个元素替换,倒数第二个与第二个元素替换 示例代码 package hello; /** * @Package: hello * @ClassName: Reversesort * @Author: 乔文军 * @CreateTime: 2020/8/9 17:11 * ...
  • 要求只用一个数组的方式实现,一定要保证在输出结果时,输出的顺序和数组中数的顺序是一致的。 【输入】 第一行包含一个正整数n和一个正整数m,n和m以空格间隔。 第二行包含n个正整数,整数以空格间隔。 【输出】 ...
  • java交换数组内的元素

    2020-12-10 14:50:01
    public class ReverseArray { int num1 = 10; static int num2 = 20; //静态方法中没有对象this,所以不能访问非静态成员 public static void show()... //需求:定义静态方法,反转数组中的元素 public static .
  • JAVA数组学习

    2020-07-01 16:39:37
    数组是相同类型的数据按顺序组成的一种引用数据类型 数组的规范 存放的数据是相同的数据类型 数组的长度在定义时就确定了大小,数组是不可变长度的,或者说叫定长 数组中可以存放任意的数据类型(包含基本数据类型...
  • java数组常用部分算法的详细总结一、概念数组是一种容器,可以储存同一种类型的元素的“容器”;注意:数组每一个元素用下标,来表示元素,​下标由0开始,而不是1,所以:最后一位元素下标比实际长度小一个数字...
  • java数组排序

    2020-03-07 23:31:38
    主要使用嵌套循环,假设数组长度为10,以从小到大排序为例,内层循环中,将相邻的元素进行比较,比较后将较大的数向后移(例如array[0]大于array[1],则交换二者的位置),每执行完一次内层循环,则将最大的元素放到...
  • java数组知识整理

    2019-07-21 19:39:45
    Java数组知识点归纳 数组的概念: 数组是用来存储一系列数据类型一致的数据且长度固定的容器 数组的定义: 格式:数据类型[] 数组名 = new 数据类型[ 数组长度]; int[] arr = new int[10]; 第一种写法(推荐) ...
  • Java自学-数组 排序

    2021-03-06 16:58:36
    Java 数组选择法,冒泡法排序步骤 1 : 选择法排序选择法排序的思路: 把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 比较完后,第一位就是最小的 然后再从第二位和剩余的其他所有进行比较...
  • 方法一:利用String类的toCharArray(),再倒序输出数组Java代码 1 public class javatest { 2 public static void main(String[] args) { 3 String originalString = “abcdefg”; 4 String ...
  • 四,Java数组

    2019-12-02 11:21:21
    目录Java数组**一.什么是数组****数组声明:****数组创建:****数组存储:****数组元素的初始化:****数组元素的引用:****数组求和:****增强型循环:(foreach循环):****增强型例:****Java冒泡二.Python中数组...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,372
精华内容 5,348
关键字:

java数组倒数输出

java 订阅