SpringBoot电商项目实战Day9 冒泡排序的优化
admin
2024-04-04 00:20:44
0

学习目标:

完成了购物车模块的开发。

完成了冒泡排序的优化。


学习内容:

完成了用户过滤器的开发。

完成了添加商品接口的开发。

完成了购物车列表的开发。

完成了更新、删除购物车的接口的开发。

完成了购物车的全选与全不选的接口的开发。

冒泡排序的优化:

import java.util.Arrays;public class BubbleSort {private BubbleSort() {}public static > void sort(E[] data) {for (int i = 0; i + 1 < data.length; i++) {//arr[n-i,n)已排好序//通过冒泡在arr[n-i-1]位置放上合适的元素for (int j = 0; j < data.length - i - 1; j++) {if (data[j].compareTo(data[j + 1]) > 0) {swap(data, j, j + 1);}}}}public static > void sort2(E[] data) {for (int i = 0; i + 1 < data.length; i++) {//arr[n-i,n)已排好序//通过冒泡在arr[n-i-1]位置放上合适的元素boolean isSwapped = false;for (int j = 0; j < data.length - i - 1; j++) {if (data[j].compareTo(data[j + 1]) > 0) {swap(data, j, j + 1);isSwapped = true;}}if (isSwapped == false) {break;}}}public static > void sort3(E[] data) {for (int i = 0; i + 1 < data.length; ) {//arr[n-i,n)已排好序//通过冒泡在arr[n-i-1]位置放上合适的元素int lastSwapperIndex = 0;for (int j = 0; j < data.length - i - 1; j++) {if (data[j].compareTo(data[j + 1]) > 0) {swap(data, j, j + 1);lastSwapperIndex = j+1;}}
//            if (lastSwapperIndex == 0) {
//                break;
//            }i = data.length - lastSwapperIndex;}}public static > void sort4(E[] data) {for (int i = 0; i + 1 < data.length; ) {//arr[n-i,n)已排好序//通过冒泡在arr[n-i-1]位置放上合适的元素int lastSwapperIndex = data.length-1;for (int j = data.length-1; j > i; j--) {if (data[j-1].compareTo(data[j ]) > 0) {swap(data, j-1, j );lastSwapperIndex = j-1;}}
//            if (lastSwapperIndex == 0) {
//                break;
//            }i =  lastSwapperIndex+1;}}private static  void swap(E[] arr, int i, int j) {E t = arr[i];arr[i] = arr[j];arr[j] = t;}public static void main(String[] args) {int n = 100000;Integer[] arr = ArrayGenerator.generatorRandomArray(n, n);Integer[] arr2 = Arrays.copyOf(arr, arr.length);Integer[] arr3 = Arrays.copyOf(arr, arr.length);System.out.println("Random Array");SortingHelper.sortTest("BubbleSort", arr);SortingHelper.sortTest("BubbleSort2",arr2);SortingHelper.sortTest("BubbleSort3",arr3);System.out.println();arr = ArrayGenerator.generatorOrderedArray(n);arr2 = Arrays.copyOf(arr, arr.length);arr3 = Arrays.copyOf(arr, arr.length);System.out.println("Ordered Array");SortingHelper.sortTest("BubbleSort", arr);SortingHelper.sortTest("BubbleSort2", arr2);SortingHelper.sortTest("BubbleSort3", arr3);}
}

学习时间:

08:30-11:30 13:00 -17:00 19:00 -22:00


学习产出:

在Mybatis返回非标准对象时,后期需要计算单样商品的总价。

在添加商品到购物车时,根据是否已经存在该商品,有不同的逻辑。

常见的错误: 不做越权的判断。

相关内容

热门资讯

英国6月制造业PMI初值53.... 6月23日消息,英国6月制造业PMI初值53.1,预期53.5,前值53.9;6月服务业PMI初值4...
全国夏粮旺季收购有序开启 6月23日消息,国家粮食和物资储备局最新调度显示,随着全国小麦收获基本结束,各地夏粮旺季收购正有序开...
珠免集团:未与杜福睿公司就海南... 6月23日消息,珠免集团在互动平台表示,截至目前,公司并未与杜福睿(Dufry)公司就海南离岛免税业...
现货黄金日内跌幅扩大至2%,现... 6月23日消息,现货黄金日内跌幅扩大至2%,报4106.03美元/盎司;现货白银跌破62美元/盎司,...
外交部:各国企业参展链博会,反... 6月23日消息,外交部发言人郭嘉昆主持例行记者会。总台记者提问,昨天,第四届中国国际供应链促进博览会...
宇树科技IPO在即!“平均每平... 7月2日,证监会同意宇树科技首次公开发行股票并在科创板上市的注册申请,这意味着“人形机器人第一股”距...
机器人概念股,大面积涨停 机器... 7月3日,机器人概念股持续拉升,截至发稿,新睿电子、凯龙高科、北纬科技、圣龙股份、卧龙电驱、星网锐捷...
现货黄金失守4100美元,现货... 6月23日消息,现货黄金失守4100美元/盎司,刷新近两周新低,日内跌幅2.25%;现货白银跌近5%...
密云9座抗灾超级基站建成投用 6月23日消息,近日,北京密云9座抗灾超级基站及配套设施全部建设完工并投入使用,为易受灾山区镇通信基...
两部门:国产小客车能“当天买车... 6月23日消息,今天(23日),工业和信息化部办公厅、公安部办公厅联合印发通知,今后,机动车合格证信...