嗯,虽然来了总共只有十天,但是意外的学习了挺多东西.比如数组.
数组排序问题,我以前以为的,我会选择和冒泡,结果在学到这部分的时候,我才发现
我以为的两种方法,结果只是一种,当老师讲解的时候,我才发现都是冒泡...惨遭打脸.
然后我在老师讲解的时候,学到了一种很好理解的方式,将给大家听听.
//每次都是从arr[0]开始,从未排序的最后一个arr[i]向前依次进行比较,将大的放到未排序的最后一位
//i控制循环次数,同时也表示每次比较的时候的起点
for(int i = 0; i < arr.length; i++){
//j表示i比较的对象,从最有一个元素开始
for(int j = arr.length - 1; j > i; j--){
//将每次比较的最大的元素放置未排序的最后一个位置,下一次排序后就会成为
//已排序的第一个元素
if(arr[i] > arr[j]){
//嗯 数组的交换方法,大家肯定都会,我就不啰嗦了(#^.^#)
swap(arr, i, j);
}
}
}
除了这些还有好多平时一些小小的顿悟,嗯,这些不好说,也说不清楚.但是像某种让自己觉得
"哇!还能这样,学习了!"方法和思想还是可以写出来的.
//将数组里的所有数字(1~9)连接成一个数字,不是字符串(虽然我现在知道了字符串可以转成基本数据类型)
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
//定义输出的数字
int sum = 0;
for(int i = 0; i < arr.length - 1; i ++){
//很棒的想法!!!
sum = sum * 10 + arr[i];
}
//我的方法是每个位置的数字都是乘以10的(arr.length -1 - i)的次幂
//很啰嗦,同时 - 1 这个操作也容易犯错...
经过几天的学习,我对以后的生活有了更多的期待!以后会有更多的惊(痛)喜(苦)在等着我.(其实,我有点怂了,好辛苦┭┮﹏┭┮.)
|
|