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) { int temp; temp=a[i]; a[i]=a[j]; a[j]=temp; } static int qwe(int a[],int left,int right) { int pivot=a[right]; int tail=left - 1; for (int i=left;i<right;i++) { if (a[i]<=pivot) { asd(a,++tail,i); } asd(a,tail+1,right); return tail + 1; } static void quickSort(int a[],int left,int right) { if (left>=right) return; int pivotIndex=qwe(a,left,right); quickSort(a,left,pivotIndex - 1); quickSort(a,pivotIndex+1,right); } public static void main(String args[]) { int a[]={15,1,2,5,21,15,1,2,5,22}; int length=a.length-1;
quickSort(a,0,length); for (int i=0; i<a.length; i++) { System.out.print(" " + a[i]); } }}
原文:http://www.cnblogs.com/jerryaaaaa/p/7955629.html