作为一个章节记录
1.数组的复制:用for循环arra,length依次给arrb赋值即可
2.查找:
import java.util.Scanner;
Scanner s=new Scanner(System.in);
String name=s.next();
String arr[]={"张一","张二","张三"};
boolean flag=flase;
for(int i=0;i<3;i++){
if ( name.equals(arr[i]) ) {
flag=true;break;
}
if(flag==true){syso("找到");}else{
syso(“没有这个学员存在”);
}
3.插入:在最后插入一个值,并升序排序
int arr[]={2,4,6,7};
arr[arr.length-1]=s.nextInt();
for(int i=arr.length-1;i>0;i--){
if(arr[i]<arr[i-1]){
int t=arr[i];
arr[i]=arr[i-1];
arr[i-1]=t;//交换
}else break;
}
4.冒泡排序
int arr[]={2,1,4,5,7,5,8};
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]){ //此处为升序(大的往下沉),改为:arr[j]<arr[j+1]为降序(小的往下沉)
int t=arr[i];
arr[i]=arr[i+1];
arr[i+1]=t;
}
}
}
5.选择排序
int arr[]={5,4,3,2,1};
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){ //改成<就是降序了
int t=arr[i];
arr[i]=arr[j];
arr[j]=t;
}
}
}
冒泡原理是相邻元素比较并”沉底“,选择排序是第一个与后面每一个比较然后小的“升”起来,然后是第二个与后面每一个比较,然后是第三个。。。
最坏情况下 的复杂度都是:(n-1)(n-2)/2