本周学到了对数组的基本操作,包括遍历数组、填充替换数组元素、对数组进行排序、复制数组、数组查询,还有数组排序算法,
1、冒泡排序:基本思想是对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移动到数组后面,这样较小的元素就像气泡一样从底部上升到顶部;
算法实现:
public class BubbleSort {
public static void main(String[] args) {
// 创建一个数组,这个数组元素是乱序的
int[] array = { 63, 4, 24, 1, 3, 15 };
// 创建冒泡排序类的对象
BubbleSort sorter = new BubbleSort();
// 调用排序方法将数组排序
sorter.sort(array);
}
public void sort(int[] array) {
for (int i = 1; i < array.length; i++) {
// 比较相邻两个元素,较大的数往后冒泡
for (int j = 0; j < array.length - i; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];// 把第一个元素值保持到临时变量中
array[j] = array[j + 1];// 把第二个元素值保存到第一个元素单元中
array[j + 1] = temp;// 把临时变量也就是第一个元素原值保持到第二个元素中
}
}
}
showArray(array);// 输出冒泡排序后的数组元素
}
public void showArray(int[] array) {
for (int i : array) {// foreach格式遍历数组
System.out.print(" >" + i);// 输出每个数组元素值
}
System.out.println();
}
}
2、直接选择排序:
/**
* 直接选择排序算法实例
*
* @author Li Zhong Wei
*/
public class SelectSort {
public static void main(String[] args) {
// 创建一个数组,这个数组元素是乱序的
int[] array = { 63, 4, 24, 1, 3, 15 };
// 创建直接排序类的对象
SelectSort sorter = new SelectSort();
// 调用排序对象的方法将数组排序
sorter.sort(array);
}
/**
*直接选择排序法
*
* @param array
* 要排序的数组
*/
public void sort(int[] array) {
int index;
for (int i = 1; i < array.length; i++) {
index = 0;
for (int j = 1; j <= array.length - i; j++) {
if (array[j] > array[index]) {
index = j;
}
}
// 交换在位置array.length-i和index(最大值)两个数
int temp = array[array.length - i];// 把第一个元素值保持到临时变量中
array[array.length - i] = array[index];// 把第二个元素值保存到第一个元素单元中
array[index] = temp;// 把临时变量也就是第一个元素原值保持到第二个元素中
}
showArray(array);// 输出直接选择排序后的数组值
}
/**
* 显示数组所有元素
*
* @param array
* 要显示的数组
*/
public void showArray(int[] array) {
for (int i : array) {// foreach格式遍历数组
System.out.print(" >" + i);// 输出每个数组元素值
}
System.out.println();
}
}
再补充一点,java输入数组:
import java.util.*;
public class Shuzu{
public static void main(String [] args){
Scanner sc=new Scanner(System.in);
int a[]=new int [6];
for (int i=0;i<a.length;i++){
a[i]=sc.nextInt();
System.out.print(a[i]);
}
}
}
以及类与对象的一些知识,简单学了对象的概念,类,封装,继承,多态,类的成员变量、成员方法(就是c++里边的函数)、局部变量及其有效范围,this关键字、,类的构造方法,静态变量常量和方法;
倒是确定了一点,在java里不叫函数叫方法。
下周计划将类与对象学了和包装类。
有点草率了,请老师见谅。