第三次作业
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三次作业相关的知识,希望对你有一定的参考价值。
1.1501020516崔玉鑫1501020504毛立婷 码云地址:https://gitee.com/XiaoCuiZhaoShi/16CuiYuXin04MaoLiTing-KaoHeSan.git
2..学习目标:
代码行数(新增/累积) | 博客字数(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 500 | 100小时 | 掌握Java程序设计 | |
第十一周 | 30/30 | 0/0 | 20/20 | 学习了结构化程序设计 |
第十二周 | 30/60 | 0/0 | 18/38 | 学习了类,方法,继承性,多态性 |
第十三周 | 20/80 | 100/100 | 22/60 | 学习了包,封装性,abstract,static,final,接口 |
第十四周 | 160/240 | 0/100 | 20/80 | 学习了数组,字符串 |
第十五周 | 100/260 | 50/150 | 20/100 | 学习了数组,字符串 |
3.作业代码和注释
快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
public class Shuzu{ static void huhuan(int a[], int i, int j){ //定义交换两个数的方法 huhuan int temp; temp = a[i]; a[i] = a[j]; a[j] = temp; } static int fen(int a[], int l, int r){ //定义方法,参数列表是数组a,整型l表示数组的最小值,整型r表示数组的最大值 int p = a[r];//声明基准p int t = l-1;//声明t为小于基准的子数组最后一个元素的索引 for (int i=l; i<r; i++){ //遍历除基准以外的所有元素 if (a[i] <= pivot){ huhuan(a, t, i);//把小于等于基准的元素放到前一个子数组末尾 } } huhuan(a, t+1, right); //最后把基准放到前一个子数组的后边,剩下的子数组既是大于基准的子数组 return t + 1;/ } static void quickSort(int a[], int l, int r){//定义递归方法 if (l >= r) return; int pIndex = fen(a, l, r);//此处为每次分区基准的索引 quickSort(a, l, pIndex - 1);//递归调用自己,实参为数组,数组下限,基准索引值减一 quickSort(a, pIndex+1, right);//递归调用,实参为索引,基准索引值加一,数组上限 } public static void main (String args[]){ int a[] = {15,1,2,5,16,15,1,2,5,4};//声明数组 int l = a.length-1;//将数组最大的索引赋值给l,作为数组基准 quickSort(a, 0, length); for (int i=0; i<a.length; i++){ System.out.print(" " + a[i]);
} }
运行截图:
5.1+1是大于2的一个人在想的时候可能会在一个地方钻牛角尖如果有一个人在旁边告诉你一些他的看法可能你就会从牛角尖走出来了而且两个人的想法放在一起做题也会快一些感觉比自己一个人做题轻松
以上是关于第三次作业的主要内容,如果未能解决你的问题,请参考以下文章