整数数组按绝对值排序
生活随笔
收集整理的這篇文章主要介紹了
整数数组按绝对值排序
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
題目:
給出一組整數(shù)數(shù)組,要求按照絕對(duì)值從小到大進(jìn)行排序后輸出。
?
可以用經(jīng)典的冒泡排序法來(lái)計(jì)算此問(wèn)題,計(jì)算過(guò)程:
1、比較相鄰兩個(gè)元素絕對(duì)值,如果第一個(gè)比第二個(gè)大,則交換他們兩個(gè);
2、對(duì)每一對(duì)相鄰元素做相同工作,直到結(jié)尾最后一對(duì)完成為止,這樣在最后的元素會(huì)是絕對(duì)值最大的;
3、針對(duì)所有元素重復(fù)上訴步驟,除了最后一個(gè)(已經(jīng)排好的);
4、重復(fù)步驟1~3,直到排序完成。
?
@Testpublic void testSort() {int[] arr = {17, -27, 3, 21, -5, 2, 18, -40};for(int i=0; i<arr.length-1; i++) {//外層循環(huán)每執(zhí)行一遍,末尾位置就確定一個(gè)元素。 比如:第一次循環(huán)完,確定 index=arr.length-1的元素;//第二次循環(huán),確定 index=arr.length-2的元素for(int j=0; j<arr.length-1-i; j++) {if(Math.abs(arr[j]) > Math.abs(arr[j+1])) {int tmp = arr[j+1];//交換相鄰兩個(gè)元素arr[j+1] = arr[j];arr[j] = tmp;}}}for(int one:arr) {System.out.print(one);System.out.print(",");}}?
轉(zhuǎn)載于:https://my.oschina.net/u/2328100/blog/1830744
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的整数数组按绝对值排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: nginx 非80、443端口跳转到80
- 下一篇: 微信小程序 - 非Form数据怎么发送到