日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

字符串字典排序

發布時間:2023/11/29 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符串字典排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

把字符串以字典的展示形式排序,如把字符串'abc','bad','aade','bdca'排列成''aade',abc','bad','bdca'。

1.使用冒泡排序

(1) 相鄰兩數據兩兩比較,較大的放到后面,直到把最大的字符串放在最后一個位置。

(2) 從頭開始再進行相鄰數據兩兩比較,較大的放到后面,直到把第二大的字符串放在倒數第二個位置。

(3) 依次類推,...,字符串從小到大依次排列。

var arrStr = ['abc','bad','aade','bdca'];Array.prototype.toSortStr = function(){for(var i = 0;i < this.length - 1;i++){for(var j = 0;j < this.length - i - 1; j++){if(strCompare(this[j],this[j+1])){var temp = this[j];this[j] = this[j+1];this[j+1] = temp;}}}}function strCompare(str1,str2){//str1大于str2,返回truevar minLen,strLen1 = str1.length,strLen2 = str2.length;(strLen1 <= strLen2) ? minLen = strLen1 : minLen = strLen2;for(var i = 0; i < minLen - 1; i++){if(str1.charAt(i) > str2.charAt(i)){return true;}if(str1.charAt(i) < str2.charAt(i)){return false;}}return false;}arrStr.toSortStr();

?

?2.使用快速排序

(1) 以第一個元素為基準,把數組分為兩部分,基準左邊的字符串小于基準,基準右邊的字符串大于基準。

(2) 再把基準的兩邊的數組元素分別按照(1)處理。

(3) 依次類推,進行遞歸,...,直到字符串順序排列。

var arrStr = ['abc','bad','aade','bdca'];function quickSort(arr,low,height){if(low >= height){return;}var pivot = arr[low],i = low,j = height;while(i < j){while(i < j && strCompare(arr[j],pivot)){j--;}arr[i] = arr[j];while(i < j && strCompare(pivot,arr[i])){i++;}arr[j] = arr[i];}arr[i] = pivot;quickSort(arrStr,low,i - 1);quickSort(arrStr,i + 1,height);}function strCompare(str1,str2){//str1大于str2,返回truevar minLen,strLen1 = str1.length,strLen2 = str2.length;(strLen1 <= strLen2) ? minLen = strLen1 : minLen = strLen2;for(var i = 0; i < minLen - 1; i++){if(str1.charAt(i) > str2.charAt(i)){return true;}if(str1.charAt(i) < str2.charAt(i)){return false;}}return false;}quickSort(arrStr,0,arrStr.length-1);

3.使用數組的sort方法

     var arrStr = ['abc','bad','aade','bdca'];arrStr.sort(function(str1,str2){var minLen,strLen1 = str1.length,strLen2 = str2.length;(strLen1 <= strLen2) ? minLen = strLen1 : minLen = strLen2;for(var i = 0; i < minLen - 1; i++){if(str1.charAt(i) > str2.charAt(i)){return 1;}if(str1.charAt(i) < str2.charAt(i)){return -1;}}return -1;})

?

轉載于:https://www.cnblogs.com/fe-huahai/p/5717799.html

總結

以上是生活随笔為你收集整理的字符串字典排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。