目标开发一款自己喜欢且能最大限度让用户参与建设的社交软件。
笔记:
排序是将多个数据,依制定的顺序进行排列的过程。
排序的分类:
1、内部顺序:指将需要处理的所有数据都加载到内部存储器中进行排序。包括(交换式排序法、选择式排序法和插入式排序法);
2、外部排序法:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。包括(合并排序法和直接合并排序法)。
冒泡排序法
其基本思想是:通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就像水底下的气泡一样逐渐向上冒。
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {24, 69, 80, 57, 13};
int temp = 0;
for(int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
System.out.println("==第" + (i + 1) + "轮==");
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[j] + " ");
}
System.out.println();
}
}
}
查找
在java中,我们常用的查找有两种:
1、顺序查找SeqSearch.java
2、二分查找【二分法,会放在算法讲解】
import java.util.Scanner;
public class BubbleSort {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
String[] names = {"jack", "mali", "jown"};
System.out.println("请输入查找内容");
String findName = myScanner.next();
int index = -1;
for(int i = 0; i < names.length; i++) {
if (findName.equals(names[i])) {
System.out.println("恭喜你找到" + findName);
System.out.println("下标为=" + i);
index = i;
break;
}
}
if (index == -1) {
System.out.println("Sorry,没有找到" + findName);
}
}
}