算法 入门(2018-9-3)
直接插入排序
public class InsertSort {
public static void getInsertSort(int[] a){
if(a==null||a.length==0){
System.out.println("该数组为空!");
return;//
}
int n=a.length;
int temp;
int j;
for(int i = 1;i < n;i++){
temp=a[i];
//j=i-1;//
for(j=i-1;j>=0&&a[j]>temp;--j){
a[j+1]=a[j];
}
a[j+1]=temp;
}
}
public static void main(String[] args){
int[] a={3, 5, 1, 2, 6, 4, 7, 0, 23, 44, 3, 34};
getInsertSort(a);
System.out.println("直接插入排序:");
for(int i=0;i<a.length;i++) {
System.out.print(a[i]+" ");
}
}
}
package com.sxy.insertSort1;
public class InsertSort {
public static void sort(int[] a) {
if(a==null&&a.length==0) {
System.out.println("输入的数组为空!");
return;
}
int n=a.length;
int temp,j;
for(int i=1;i<n;i++) {
temp=a[i];//
j=i-1;
for(;j>=0&&a[j]>temp;--j) {
a[j+1]=a[j];
}
a[j+1]=temp;
}
}
public static void main(String[] args) {
int[] arr={6,5,4,3,2,1};
sort(arr);
System.out.println("after sort:");
/*for(int a:arr){
System.out.print(a+" ");
}*/
for (int i=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
}
}
package com.sxy.insertSort;
//直接插入排序
public class InsertSortTest {
static void sort(int[] a) {
for(int i=1;i<a.length;i++) {
for(int j=i;j>0;j--) {
if(a[j]<a[j-1]){
int temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
}
public static void main(String[] args) {
int[] arr={6,5,3,4,2,1};
System.out.println("old:");
for(int i=0;i<arr.length;i++)
System.out.print(arr[i]+"");
System.out.println();
sort(arr);
System.out.println("new:");
for(int i=0;i<arr.length;i++)
System.out.print(arr[i]+"");
}
}
简单选择排序
//简单选择排序
public class SortTest {
public static void sort(int[] a){
if(a==null&&a.length==0){
return;
}
int n=a.length;
int min,temp;
for(int i=0;i<n-1;i++){//
min=i;//
for(int j=i+1;j<n;j++){
if(a[j]<a[min]){
min=j;//
}
}
/*temp=a[i];
a[i]=a[min];
a[min]=temp;*/
temp=a[min];
a[min]=a[i];
a[i]=temp;
}
}
public static void main(String[] args){
int[] arr={6,5,2,3,4,1};
System.out.println("after sort:");
sort(arr);
//int i;//
for(int i:arr){
System.out.print(i+" ");
}
}
}
//简单选择排序
public class SortTest {
public static void sort(int[] a){
if(a==null&&a.length==0){
return;
}
int n=a.length;
int min,temp;
for(int i=0;i<n;i++){//
min=i;//
for(int j=i+1;j<n;j++){
if(a[j]<a[min]){
min=j;//
}
}
/*temp=a[i];
a[i]=a[min];
a[min]=temp;*/
if(min!=i){//
temp=a[min];
a[min]=a[i];
a[i]=temp;
}
}
}
public static void main(String[] args){
int[] arr={6,5,2,3,4,1};
System.out.println("after sort:");
sort(arr);
//int i;//
for(int i:arr){
System.out.print(i+" ");
}
}
}
a.length==0、a==null、a == “”、a.equals(“”) 的区别
a == null 没在堆里开辟内存,即相当于没有new
a == “” new了一个String,但内容为空,长度为零
a.equals(“”) 同上
https://blog.csdn.net/u011760575/article/details/41349919
关于Java你可能不知道的10件事 (转载的文章,感觉比较有意思,等有空的时候好好玩一下)
java中有哪些你以为你知道,实际却不知道的?