第三次作业
1.
| 代码行数(新增/累计) | 博客字数(新增/累计) | 学习时间(新增/累计) | 重要成长 | |
| 目标 | 2000行 | 10000字 | 200小时 | 了解JAVA程序设计 |
| 第十一周 | 100/100 | 800/800 | 15/15 | 学习结构化设计FOR,WHILE,IF-ELSE语句 |
| 第十二周 | 100/200 | 1000/1800 | 15/30 | 面向对象程序设计类,域,方法,实例对象 |
| 第十三周 | 100/300 | 2000/3800 | 15/45 | 变量作用域范围 |
| 第十四周 | ...... | ......... | ........ | ......... |
2.
本次作业2名同学的学号,本次作业GIT的提交地址
1501020519 罗帅
1501020518 高景娟
git提交地址:https://gitee.com/XiaoKeBaJiangLiuEr/18-19-LuoShuai-GaoJingJuan.git
3.
解题思路:
第一道题:
给定一组数列,使用快速排序的方法将数列按照由小到大的顺序对数组进行排序。数列为两名同学的学号相联,两个数为一组,如果遇到以0开头,则省略不写。如1501020551李四-1501020550张三,则序数列为{15,1,2,5,51,15,1,2,5,50}。
输出格式:
输出排序后的数列,以空格分隔。
输出样例:1 1 2 2 5 5 15 15 50 51
思路:
题目要求根据快速排序的方法将数列按照从小到大的顺序排序,快速排序这个方法就是首先任意选取一个数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,然后可以将数据分成两个部分,然后再将两个部分再进行快速排序
知识点:
定义一维数组
定义while循环和if条件分支语句
4.
代码:
public class qwe{ static void asd(int a[],int i,int j) //定义交换两个数的方法ASD
{ int temp; temp=a[i]; a[i]=a[j]; a[j]=temp; } static int qwe(int a[],int left,int right) //声明区分基准QWE
{ int pivot=a[right]; int tail=left - 1; for (int i=left;i<right;i++) //声明QWE小于基准的子数组最后一个元素的索引
{ if (a[i]<=pivot) { asd(a,++tail,i); } asd(a,tail+1,right); //把小于等于ASD的元素放到前一个子数组的末尾 return tail + 1; } static void zxc(int a[],int left,int right) //定义递归方法
{ if (left>=right) return; int pivotIndex=qwe(a,left,right); //每次分区基准的索引 zxc(a,left,pivotIndex - 1); zxc(a,pivotIndex+1,right); } public static void main(String args[]) { int a[]={15,1,2,5,19,15,1,2,5,18}; int length=a.length-1; //将数组最大的索引赋值给LENGTH,作为数组基准
zxc(a,0,length); for (int i=0; i<a.length; i++) //遍历输出数组
{ System.out.print(" " + a[i]); } }}5.
截图:
6.
结伴感受:
1+1>2是一定的,首先两个人的考虑问题的思维是不一样的,其次,不同的人对于出现的问题的解决办法也是有不一样的见解,就像动手过程中,同伴能一眼就看出我的问题所在,我的小伙伴是罗帅,他是一个聪明的人,在做题的过程中,他多次一阵见血指出我的毛病所在(即我很笨),他还是有担当的伙伴,我们的题其实已经上交码云了,只不过是上交了所有的文件不是仅上交作业部分,然后他遵从老师的规则,一点点将多余的部分删除,我由于兼职第一天上班,他就允许我提前自己,然后他自己把我们俩个人的工作给完成了,他是一个团结顾及团体的一个聪明的合伙人,谢谢伙伴的理解和帮助,在这个作业完成的过程中他做出了大部分努力。

浙公网安备 33010602011771号