public void radixSort(int[] nums){ int min = Integer.MAX_VALUE; int max = Integer.MIN_VALUE; for (int num : nums) { min = Math.min(min, num); max = Math.max(max, num); } for (int i = 0; i < nums.length; i++) { nums[i] -= min; } max -= min; int maxLen = (max+"").length(); int[][] bucket = new int[nums.length][10]; int[] bucketCount = new int[10]; for (int i = 0, n = 1; i < maxLen; i++, n*=10) { for (int num : nums) { int digitVal = num / n % 10; bucket[bucketCount[digitVal]][digitVal] = num; bucketCount[digitVal]++; } int index = 0; for (int j = 0; j < bucketCount.length; j++) { if(bucketCount[j] > 0){ for (int k = 0; k < bucketCount[j]; k++) { nums[index] = bucket[k][j]; index++; } } bucketCount[j] = 0; } } for (int i = 0; i < nums.length; i++) { nums[i] += min; } }
PS:按个、十、百位依次归类排序。
上面是“java常见排序算法——基数排序(附代码示列)”的全面内容,想了解更多关于 后端开发 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_4263.html
workflows工作流
爱因斯坦在做实验3d动漫ComfyUI工作流
一位老人安详地坐在云层中钓鱼
晚上樱花狐狸ComfyUI工作流
一只精致透明的朱红色水晶狐狸
小丑鱼马林在鱼缸里游来游去ComfyUI工作流
一个孤独的身影在未来主义城市
一条精致透明的朱红色水晶龙
一个威武雄壮的战士ComfyUI工作流
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!