zoukankan      html  css  js  c++  java
  • 对字符串进行快速排序(即字符数组排序)

    package com.cn.gao;
    
    import java.util.Scanner;
    
    //对字符串进行快速排序
    public class CharsQuickSort {
        public static final int SIZE=100;  //可以输入的最大字符数
        //快速排序的一次划分
        public static int charsPartition(char a[], int left, int right){
            int l,r;
            char temp;
            l=left;
            r=right;
            temp=a[l];            //首元素作为分界值
            while(l<r){
                while(a[r]>temp&&l<r){
                    r--;
                }
                if(l<r){
                    a[l]=a[r];
                    l++;
                }
                while(a[l]<temp&&l<r){
                    l++;
                }
                if(l<r){
                    a[r]=a[l];
                    r--;
                }
            }
            a[l]=temp;
            return l;
        }
        //字符串排序的快速排序算法
        public static void charsQuickSort(char a[], int left, int right){
            int p;
            if(left<right){
                p = charsPartition(a,left,right);
                charsQuickSort(a,left,p-1);
                charsQuickSort(a,p+1,right);
            }
        }
        public static void main(String[] args) {
            char a[] = new char[SIZE];
            System.out.print("请输入一个待排序的字符串:");
            Scanner input = new Scanner(System.in);
            a = input.next().toCharArray();
            System.out.println("排序前:");
            System.out.println(a);
            //排序
            charsQuickSort(a,0,a.length-1);
            System.out.println("排序后:");
            System.out.println(a);
        }
    
    }
  • 相关阅读:
    033 流程控制之if判断
    032 基本运算符
    031 格式化输出的三种方式
    030 Python与用户交互
    029 解压缩
    028 布尔类型
    027 字典类型
    026 列表类型
    025 字符串类型
    023 数据类型基础
  • 原文地址:https://www.cnblogs.com/gaopeng527/p/4485156.html
Copyright © 2011-2022 走看看