开发者社区> 问答> 正文

如何在冒泡排序算法中避免重复的字符串值?

我试图弄清楚如何避免在排序算法中打印重复名称。

我忽略空字符串的原因是我正在实施的系统是一个售票系统,该系统仅显示名称列表,而不显示空插槽。

能帮我一下吗?

String[] name={"fiona","vacant","allen","fiona","david","vacant","vacant"};
        for (int i = 0; i <= (name.length-1); i++){
            for (int j = i+1; j < name.length; j++ ){
                if (name[i].compareTo(name[j])>0) {
                    String temp = name[i];
                    name[i] = name[j];
                    name[j] = temp;
                }
            }
            if (!name[i].equals("vacant")) {
                System.out.println(name[i] + " ");
            }
        }

问题来源:Stack Overflow

展开
收起
montos 2020-03-22 10:47:46 793 0
1 条回答
写回答
取消 提交回答
  • 只需检查您要打印的名称是否与上一个相同:

    String[] name={"fiona","vacant","allen","fiona","david","vacant","vacant"};
    for (int i = 0; i <= (name.length-1); i++){
        for (int j = i+1; j < name.length; j++ ){
            if (name[i].compareTo(name[j])>0) {
                String temp = name[i];
                name[i] = name[j];
                name[j] = temp;
            }
        }
        if (!name[i].equals("vacant") && (i == 0 || !name[i-1].equals(name[i]))) {
            System.out.println(name[i] + " ");
        }
    }
    

    回复来源:Stack Overflow

    2020-03-22 10:48:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载