核心代码
private static int search(int[] arr, int key) {
int index = -1;
int i = 0;
for (int n : arr) {
if (n==key){
index=i;
break;
}
i++;
}
return index;
}
核心代码
public static int search(int[] nums, int num) {
int low = 0;
int high = nums.length - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (num > nums[mid]) {
low = mid + 1;
} else if (num < nums[mid]) {
high = mid - 1;
} else {
return mid;
}
}
return -1;
}
核心代码
public void insert(T x) {
List<T> whichList=theLists[myhash(x)];
if(!whichList.contains(x)) {
whichList.add(x);
if(++currentSize>theLists.length)
rehash();
}
}
public void remove(T x) {
List<T> whichList=theLists[myhash(x)];
if(whichList.contains(x)) {
whichList.remove(x);
currentSize--;
}
}
public boolean contains(T x) {
List<T> whilchList=theLists[myhash(x)];
return whilchList.contains(x);
}
public void makeEmpty() {
for(int i=0;i<theLists.length;i++)
theLists[i].clear();
currentSize=0;
}
核心代码
public class SelectionSort {
public static String selectionSort(int[] arr) {
for(int i=0; i<arr.length; i++) {
int minIndex = i;
for(int j=i; j<arr.length; j++) {
if(arr[j] < arr[minIndex]) {
minIndex = j;
}
}
int tmp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = tmp;
}
return Arrays.toString(arr);
}
核心代码
public static void bubbleSort(int []arr) {
for(int i =1;i<arr.length;i++) {
for(int j=0;j<arr.length-i;j++) {
if(arr[j]>arr[j+1]) {
int temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
核心代码
public class TestQuickSort {
private static int partition(int[] arr, int low, int high) {
int i = low;
int j= high;
int x = arr[low];
while(i<j){
arr[j]
while(arr[j]>=x && i<j){
j--;
}
if(i<j){
arr[i] = arr[j];
i++;
}
while(arr[i]<x && i<j){
i++;
}
if(i<j){
arr[j] = arr[i];
j--;
}
}
arr[i] = x;//arr[j] = y
return i; //return j;
}
private static void quickSort(int[] arr, int low, int high) {
if(low < high){
intindexpartition(arr,low,high);
quickSort(arr,low,index-1);
quickSort(arr,index+1,high);
}
}
核心代码
public class MergeSort {
public void merge(int []a,int left,int mid,int right){
int []tmp=new int[a.length];
int p1=left,p2=mid+1,k=left;
while(p1<=mid && p2<=right){
if(a[p1]<=a[p2])
tmp[k++]=a[p1++];
else
tmp[k++]=a[p2++];
}
while(p1<=mid) tmp[k++]=a[p1++];
while(p2<=right) tmp[k++]=a[p2++];
for (int i = left; i <=right; i++)
a[i]=tmp[i];
}
public void mergeSort(int [] a,int start,int end){
if(start<end){
int mid=(start+end)
mergeSort(a,start,mid);
mergeSort(a,mid+1,end);
merge(a, start, mid, end);
}
}
问题1:提示无法找到两个变量的符号
问题1解决方案:忘记定义静态变量
扣分:0分
1、这周学的内容又开始逐渐变难了,有点跟不上,但是多抽出点空闲时间还是能够学到更多东西的,我会尽量抽出更多的时间去敲代码。
2、多敲一敲课本上的代码,累计代码量,打好基础。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:XX小时
实际学习时间:XX小时
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
20182328 2019-2020-1 《数据结构与面向对象程序设计》第八周学习总结
原文:https://www.cnblogs.com/monsterhunter/p/11795677.html