Java基础学习(七)基本语法6之数组常用的算法问题

1.求数组元素的最大值、最小值、和、平均数

2.数组的复制和反转

情况1:

Java基础学习(七)基本语法6之数组常用的算法问题

情况2:(如何实现复制)

Java基础学习(七)基本语法6之数组常用的算法问题

数组的反转:

  1. // 数组元素的反转
  2. for (int x = 0, y = arr.length - 1; x < y; x++, y--) {
  3. int temp = arr[x];
  4. arr[x] = arr[y];
  5. arr[y] = temp;
  6. }

拓展:String str = "abcdefg";

数组的排序:

插入排序

直接插入排序、折半插入排序、Shell排序

交换排序

冒泡排序、快速排序(或分区交换排序)

选择排序

简单选择排序、堆排序

归并排序

基数排序

  1. // 使用冒泡排序使数组元素从小到大排列 
  2. for (int i = 0; i < arr.length - 1; i++) {
  3.  for (int j = 0; j < arr.length - 1 - i; j++) {
  4.  if (arr[j] > arr[j + 1]) {
  5.  int temp = arr[j];
  6.  arr[j] = arr[j + 1];
  7.  arr[j + 1] = temp;
  8.  }
  9.  }
  10. }
  11.  //使用直接选择排序使数组元素从小到大排列
  12.  for(int i = 0; i < arr.length - 1; i++){
  13. int t = i;//默认i处是最小的
  14. for(int j = i;j < arr.length;j++){
  15. // //一旦在i后发现存在比其小的元素,就记录那个元素的下角标
  16.  if(arr[t] > arr[j]){
  17.  t = j;
  18. }
  19. }
  20.  if(t != i){
  21.  int temp = arr[t];
  22. arr[t] = arr[i];
  23.  arr[i] = temp;
  24. }
  25.  }

还可以调用:Arrays工具类:Arrays.sort(arr);

到这里java数组就讲完了,接下来DannyWu会给大家介绍java的面向对象的特性。

weinxin
我的微信
有问题微信找我
DannyWu

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: