标签:包含 存储 array 对象引用 string 值类型 行操作 数据类型 错题
注意:若计算一个算法的阶,其中涉及函数调用时,要把函数里面的调用也算上。
操作 | 描述 |
---|---|
push | 将元素添加到栈顶 |
pop | 删除栈顶元素 |
peek | 查看栈顶元素 |
isEmpty | 是否为空 |
size | 判定栈中元素 |
class Box<T>
{
//T类型对象的声明和操作代码
}
Box<Widge> box1=new Box<Widege>;
if(!theStack.isEmpty())
element = theStack.pop();
try{
element = theStack.pop();
}catch(EmptyCollectionException exception){
System.out.println("No elements available.")
}
stack=(T[])(new Object[stack.length*2);
String searchstring = "Tom Jones ";
Person current = first;
while ( ( not( current . equals ( searchstring)) && (current.next != null) )
current = current. next;
temp.next=current.next;
current.next=temp;
private final char value[];//String的底层是字符数组 a.compareTo(b)
public int compareTo(String anotherString) {
int len1 = value.length;//获取调用该方法的字符串的长度a
int len2 = anotherString.value.length;//获取比较字符串的长度b
int lim = Math.min(len1, len2);//(a <= b) ? a : b; min底层代码 这句代码是为了获取较短的字符串的长度
char v1[] = value; //创建两个字符数组,分别指向这两个字符串的所在
char v2[] = anotherString.value;
//循环比较,循环次数,是较短的字符串的长度,如果用较长的字符串的长度,那么会出现nullPointException
int k = 0;
while (k < lim) {
char c1 = v1[k];
char c2 = v2[k];
//比较相对应索引的元素,如果元素不同则比较返回中间差距的顺序,如果相等,那么就继续循环比较
if (c1 != c2) {
return c1 - c2;//字符对应的Unicode码表中的数字,这也就是为什么说String是按照字典书序比较的,如a比b靠前,那么a对应的数字比b小,相减返回负数,差多少顺序,就返回多少
}
k++;
}
//如果两个字符串的长度不同,其它都相同,那么返回的就是长度的差距了
return len1 - len2;
}
//Integer的compareTo方法,底层依据的是compare方法,这个方法是Comparator接口的一个方法
public int compareTo(Integer anotherInteger) {
//实际上Integer的比较是通过Integer中包括的整数来比较的
return compare(this.value, anotherInteger.value);
}
public static int compare(int x, int y) {//a.compateTo(b)
//如果a比b小,那么返回-1,相等就是0,否则就是1
return (x < y) ? -1 : ((x == y) ? 0 : 1);
}
问题2:列表和链表的区别是什么?
问题2的解决方法:(详见链接五)
@Override
public void remove(int i) throws Exception
{
// 初始化,p指向首结点,j为计数器
Node p = head;
int j = -1;
// 寻找第i个结点的前驱
while (p.getNext() != null && j < i - 1)
{
p = p.getNext();
++j;
}
if (j > i - 1 || p.getNext() == null)
{
throw new Exception("删除位置不合法");
}
// 修改链指针,使待删除结点从单链表中脱离
p.setNext(p.getNext().getNext());
}
temp.next=temp.next.next;
(statistics.sh脚本的运行结果截图)
最近无检测,故无错题
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 69/69 | 2/2 | 30/30 | |
第二、三周 | 529/598 | 3/5 | 25/55 | |
第四周 | 300/1300 | 2/7 | 25/80 | |
第五周 | 2665/3563 | 2/9 | 30/110 | 接口与远程 |
第六周 | 1108/4671 | 2/9 | 25/135 | 多态与异常 |
第七周 | 2/9 | 30/110 | 栈、队列 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:30小时
实际学习时间:25小时
改进情况:
这周的别的事情较多,所以很急,以后一定好好把本次课程复习一下。
20182301 2019-2020-1 《数据结构与面向对象程序设计》第7周学习总结
标签:包含 存储 array 对象引用 string 值类型 行操作 数据类型 错题
原文地址:https://www.cnblogs.com/zhaopeining/p/11789851.html