数组的小练习

1.冒泡排序

int[] arr = {5,58,67,44,9,0,33};
public static void main(String[] args) {
int[] arr = {5,58,67,44,9,0,33};
int[] arr1 = {5,58,67,44,9,0,33};

//    System.out.println(Arrays.equals(arr, arr1));//数组的方法,通过Arrays调用,静态方法。
//
//    int[] newArr = Arrays.copyOfRange(arr, 0, 5);
//    p(newArr);

//直接选择排序,取出最大数的索引值然后依次比较,在外层循环里进行交换
for (int i = 0; i < arr.length; i++) {
  int indexMax = i;
  for (int j = i+1; j < arr.length; j++) {
    if (arr[indexMax]<arr[j]) {
      indexMax = j;
    }
  }
  int temp = arr[i];//完成相互替换,赋值过程
  arr[i] = arr[indexMax];
  arr[indexMax] = temp;
}
p(arr);

}
public static void p(int[] newArr){
  for (int i = 0; i < newArr.length; i++) {
    System.out.print(newArr[i]+" ");
  }
  System.out.println();
}

2.提供两个数组,输入上边数组提供的星座,返回星座对应的日期区间范围。

public static void main(String[] args) {
  String[] xzName = { "白羊", "金牛", "双子", "巨蟹", "狮子", "处女", "天秤", "天蝎", "射手", "摩羯", "水瓶", "双鱼" };
  String[] xzDate = { "03月21日─04月20日", "04月21日─05月20日", "05月21日─06月21日", "06月22日─07月22日", "07月23日─08月22日", "08月23日─09月22日", "09月23日─10月22日", "10月23日─11月21日", "11月22日─12月21日", "12月22日─01月19日", "01月20日─02月18日", "02月19日─03月20日" };

  String str = "处女,天秤,天蝎";//输入需要传入的星座

  int index = see(xzName,str);//调用see()方法,返回传入字符串对应的索引值
  String[] str_s = str.split(",");//分割传入的字符串,用数组存

  for (int i = index; i < index+str_s.length; i++) {//遍历出每一个对应的索引值
    System.out.println(xzDate[i]);//输出索引值对应的。。。
  }
}
public static int see(String[] a,String b){

  String[] b_s = b.split(",");//分割传入的字符串,用数组存

  for (int i = 0; i < b_s.length; i++) {//遍历传入的字符串

    for (int j = 0; j < a.length; j++) {//遍历整个数组
      if (a[j].equals(b_s[i])) {//取出对应的索引值
        return j;//返回索引值
      }
    }

  }
  return 0;
}
时间: 2024-08-29 14:14:35

数组的小练习的相关文章

if else、数组的小练习。

逻辑运算符 &&:二元运算符,两边都是true结果才是true. ||:二元运算符,只要有一个是true结果就是true. !:一元运算符,取反,真的变假,假的变真. 短路运算 &与&&两个的区别.(&所有的比较值都会进行计算)使用&&某些时候会短路. ||因为只要有一个条件为真,那么就不进行后面的运算了. 三元运算符 int i = 10; int j = (i > 100 ? 50 : 80);//如果i>100那么j就是 5

之前就写好了,but……数组开小了……!!!

#include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> #include <cstdlib> #include <stack> #include <cctype> #include <string> #include <malloc.h> #include

腾讯面试题之求数组前小后大划分元素

时间:2014.04.29 地点:基地二楼 --------------------------------------------------------------------------------------- 一.题目 整型数组里找出符合要求的元素,满足前面的元素比该元素小,后面的元素比该元素大. 时间复杂度为:O(n) 原理:另外开辟两个数组,初始化为原数组值,一个用于存储到当前元素为止前面部分的最大值,另一个用于存储到当前元素为止,后面部分的最小值.最后用当前元素和最大值数组和最小

C语言二维数组及小项目

语法: datatype name [ rowSize ] [ colSize ] ; double score [ 5 ] [ 3 ] int animate [ 4 ] [ 4 ] 二维数组的动态赋值: ———————————————————————————————— 项目实战: 使用控制台编写一个小游戏分别实现以下功能: ——新增数据 ——修改数据 ——查询数据 ——数据排序 游戏规则: 游戏一共进行10天 每天结算好感度,一旦有三个或者以上的嫔妃好感度低于60,发生暴乱,游戏结束 回顾:

数组题目小计

终于快过完二柱的四则运算题目了,数组起头了 题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n) 发表一篇博客文章讲述设计思想,出现的问题,可能的解决方案(多选).源代码.结果截图.总结. 吸取教训,先整理好思路再进行编写 首先想到了很笨的方法,定义一个数组a用来存放子数组含1,2,3...个元素时的最大值,然后分别计算从a[0]开始元素子数

JavaScript数组实战小练习

1.找出元素在数组中的位置. 1 function indexOf(arr, item) { 2 return arr.indexOf(item); 3 } 4 console.log("3在数组[1,2,3,4]中的位置:"+ indexOf([1,2,3,4],3)); 2.计算数组中元素的和. 1 function sum(arr) { 2 var all = 0; 3 for(var i = 0; i < arr.length; i++){ 4 if(typeof arr

合并数组的小技巧

合并数组 如果你要合并两个数组,一般情况之下你都会使用Array.concat()函数: var array1 = [1,2,3]; var array2 = [4,5,6]; console.log(array1.concat(array2)); // [1,2,3,4,5,6]; 然后这个函数并不适合用来合并两个大型的数组,因为其将消耗大量的内存来存储新创建的数组.在这种情况之个,可以使用Array.pus().apply(arr1,arr2)来替代创建一个新数组.这种方法不是用来创建一个新

javascript中数组方法小计

一:数组的常用方法: 1:join(); 将数组转为字符串显示.不输入参数,默认以逗号连接:输入参数,则以参数连接. var arr=[1,2,3]; console.log(arr.join()); // 1,2,3; console.log(arr.join("_")); // 1_2_3; console.log(arr); // [1,2,3]; 原数组不变. 2:reverse(); 将数组逆序排列,原数组被修改. var arr=[1,2,3]; var arr2=arr.

二维数组的小知识

int a[3][4] a 数组名,总共12个元素,可以当做3行4列去看待,这12个元素分别为: a[0][0]      a[0][1]     a[0][2]     a[0][3] a[1][0]      a[1][1]     a[1][2]     a[1][3] a[2][0]      a[2][1]     a[2][2]     a[2][3] a[i][j] 表示的是第i+1行,j+1列的元素 int a[m][n]该数组的右下角的元素只能是a[m-1][m-2] 初始化:

关于java数组的小错误分析

class Demo3 { public static void main(String args) { int[] arr = new int [5]; System.out.print(arr); } } 对于这样一个程序,打印的结果应该是什么呢? 如图: 从图中可知结果是:[[email protected] 对于这个结果,主要要从三个方面来说明, 1. @前面的  " [ " 代表的是数组: 2. @前面的 " I " 代表的是数组的类型: 3. @后面的一