精华内容
下载资源
问答
  • 问题介绍 提示用户输入一组字符串,然后将字符串按照ascii码顺序从小到大排列,并且删除重复的字符串,打印排列好的字符串,输出删除... 第一种方法:先排序,再删除重复字符 #include<stdio.h> #include&l...

    问题介绍

    提示用户输入一组字符串,然后将字符串按照ascii码顺序从小到大排列,并且删除重复的字符串,打印排列好的字符串,输出删除字符的个数。


    C语言实现

    第一种方法:先排序,再删除重复字符

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    int rank(char* s);
    int main(int argc,char* argv[])
    {
        char a[100];
        printf("请输入字符串\n");
        scanf("%s",a);
        printf("删除了%d个字符串以后字符串为:%s\n",rank(a),a);
        return 0;    
    }
    
    int rank(char str[])
    {
        int flag; //标志排序是否完成
        int i,j,temp;
        //排序
        for(j=strlen(str)-1;j>=0;j--) {
            flag=0;
            for(i=0;istr[i+1]) {
                    flag=1;
                    temp=str[i];
                    str[i]=str[i+1];
                    str[i+1]=temp;
                }
            }
            if(!flag)
                break;
        }
        //删除重复字符
        for(i=1;str[i]!='\0';i++) {
            if(str[i]==str[i-1]) 
                flag++;
            else
                str[i-flag]=str[i];
        }
        str[strlen(str)-flag]='\0';    
        return flag;
    }

    第二种方法:使用桶排序,较快,代码稍候补上


    结果演示

    请输入字符串
    11223333haaa
    删除了7个字符串以后字符串为:123ah

    转载于:https://my.oschina.net/zzw922cn/blog/541517

    展开全文
  • 输出: 去除重复字符并排序字符串 样例输入: aabcdefff 样例输出: abcdef 统计出现的过的字符串将相应的数组位置为1,然后遍历数组,为1的将对应的字符输出。 package com.huawei; import ...

    去除重复字符并排序:

    输入:              字符串
    输出:              去除重复字符并排序的字符串
    样例输入:       aabcdefff
    样例输出:       abcdef


    统计出现的过的字符串,并将相应的数组位置为1,然后遍历数组,为1的将对应的字符输出。


    package com.huawei;
    
    import java.util.Scanner;
    
    /**
     * Created by A5313 on 2015/8/10.
     */
    public class Norepeat {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.println("输入任意字符串:");
            String input = sc.nextLine();
            System.out.println(noRepeat(input));
        }
    
        public static String noRepeat(String str){
            char[] chars = new char[255];
            char[] input = str.toCharArray();
    
            int temp;
            for(int i = 0;i< input.length;i++){
                temp = input[i];
                if(chars[temp] == 0)
                    chars[temp] = 1;
            }
    
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < chars.length; i++) {
                if(chars[i] == 1)
                    sb.append((char)i);
            }
            return sb.toString();
        }
    }
    


    展开全文
  • 这里演示一个简单的JavaScript正则表达式实例,将一串含有重复字符串中的多余字符滤除掉,请运行查看效果。 具体代码如下: <html> <head> <title>利用正则表达法除去字符串中的重复字符</...
  • 方法一:用二维数组做函数参数; 方法二:用指向一维数组的指针做函数参数; 方法三:用string数组; 方法四:(即第12题)用指针数组做函数参数,字符串不等长。
  • 去除重复字符并排序

    千次阅读 2015-08-08 13:35:58
    去除重复字符并排序 运行时间限制:无限制 ...输出: 去除重复字符并排序字符串 样例输入: aabcdefff 样例输出: abcdef 没看到结果里面要求排序,所以大意了写成了这样: #include using namespace std; in

    去除重复字符并排序
    运行时间限制:无限制
    内容限制:       无限制
    输入:              字符串
    输出:              去除重复字符并排序的字符串
    样例输入:       aabcdefff
    样例输出:       abcdef


    没看到结果里面要求排序,所以大意了写成了这样:

    #include<iostream>
    using namespace std;
    int main()
    {
    	char str[100];
    	gets(str);
    	cout<<endl;
    	int len=strlen(str);
    	for(int i=0;i<len;i++)
    	{
    
    		if(str[i]!=str[i+1])
    		{
    			cout<<str[i];
    		}
    	}
    	system("pause");
    	return 0;
    }

    对于排序,我才用了重建数组的方法,利用

    	for(int i=0;i<len;i++)
    	{
    		re_str[(str[i]-'a')]=str[i];
    	}

    数组的一种使用方法:

    	str[0]='a';
    	str[1]='b';
    	cout<<re_str[str[0]]<<endl;//相当于输出re_str[97]
    	cout<<re_str[str[1]]<<endl; <span style="font-family: Arial, Helvetica, sans-serif;">//相当于输出re_str[98]</span>
    -------------------------------------------------------割-------------------------------------------------------

    	for(int i=0;i<len;i++)
    	{
    		re_str[(str[i]-'a')]=str[i];
    	}

    附录(ASCII编码表):

    http://baike.baidu.com/link?url=SCujkQ1YOltqWCFKaoOTVYC6CvJ3c_Yzsk3aTM6SOPwiCcoTR08vgIkd2ZAimh79wYQuLG-GG67O_lqu4o4C06PK9oCDi5ZmcXrUrC7N8pLR-bR-gsgh_9INWPf7wJit


    也产生了一个疑问?

    	for(int j=0;j<26;j++)
    	{
    		if((re_str[j]>='a') && (re_str[j]<='z'))//本来想使用if(re_str[j]!=NULL),结果有问题
    			cout<<re_str[j];
    	}

    答案:

    <span style="color:#ff0000;"><strong>c语言中char str1[10]=' ';编译时是不能通过的。因为一个10个元素的字符数组,不能只给它赋值一个元素。
    可以通过的是:
    char str1[10]={' '};或
    char str1[10]=" ";
    这二种写法的结果是相同的。即:定义一个有10个元素的字符数组,并初始化,首字节为一个空格字符,后面的9个元素值为空字符('\0')。</strong></span>


    受到启发后,这样初始化:

    char re_str[26]={'\0'};
    //----------------------割-------------------
    	for(int j=0;j<26;j++)
    	{
    		if(re_str[j]!='\0')//本来想使用if(re_str[j]!=NULL),结果有问题
    			cout<<re_str[j];
    	}

    程序2:

    #include<iostream>
    using namespace std;
    int main()
    {
    	char str[100];
    	gets(str);
    	cout<<endl;
    	int len=strlen(str);
    	char re_str[26];
    	//for(int k=0;k<10;k++)             //调试
    	//	cout<<(str[k]-'a')<<endl;
    	for(int i=0;i<len;i++)
    	{
    		re_str[(str[i]-'a')]=str[i];
    	}
    	for(int j=0;j<26;j++)
    	{
    		if((re_str[j]>='a') && (re_str[j]<='z'))//本来想使用if(re_str[j]!=NULL),结果有问题
    			cout<<re_str[j];
    	}
    	cout<<endl;
    	system("pause");
    	return 0;
    }

    或者(小小改动+验证)

    #include<iostream>
    using namespace std;
    int main()
    {
    	char str[100];
    	gets(str);
    	cout<<endl;
    	int len=strlen(str);
    	char re_str[26]={'\0'};
    	//for(int k=0;k<10;k++)             //调试
    	//	cout<<(str[k]-'a')<<endl;
    	for(int i=0;i<len;i++)
    	{
    		re_str[(str[i]-'a')]=str[i];
    	}
    	for(int j=0;j<26;j++)
    	{
    		if(re_str[j]!='\0')//本来想使用if(re_str[j]!=NULL),结果有问题 
    			cout<<re_str[j];
    	}
    	cout<<endl;
    	system("pause");
    	return 0;
    }



    展开全文
  • 【问题描述】 编写一个程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序删除重复的字符。 【输入形式】 从键盘输入一个字符串...输入badacgegfacb,然后排序删除重复字符得到abcdefg。 【代码】

    【问题描述】

    编写一个程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。
    

    【输入形式】

    从键盘输入一个字符串,以回车结束输入。要求程序可以处理含有空格的字符串。
    

    【输出形式】

    程序接收此字符串,然后将其按照字符ASCII码值从小到大的顺序进行排序,并删除重复的字符输出。如果字符串为空,输出也应该为空。
    

    【样例输入】

    badacgegfacb
    

    【样例输出】

    abcdefg
    

    【样例说明】

    输入badacgegfacb,然后排序、删除重复字符得到abcdefg。
    

    【代码】

    if __name__ == '__main__':
        s = set(input())
        s = list(s)
        s.sort()
        for i in s:
            print(i,end='')
    
    展开全文
  • 去掉字符串重复的字符并排序

    千次阅读 2015-06-03 10:59:08
    第二题:去除重复字符并排序 运行时间限制:无限制 ... 输出: 去除重复字符并排序字符串 样例输入: aabcdefff 样例输出: abcdef方法1 #define _CRT_SECURE_NO_DEPRECATE #include <ios
  • 如果我有一个字符串列表,a = ["asd","def","ase","dfg","asd","def","dfg"]如何从列表中删除重复项?参考方案转换为一组:a = set(a)或选择返回列表:a = list(set(a))请注意,这不会保留顺序。如果要保留订单:seen =...
  • 要从python中的字符串中删除所有重复项,我们需要先将字符串用空格分开,以使每个单词都位于数组中。然后,有多种方法可以删除重复项。我们可以通过以下方式删除重复项:首先将所有单词都转换为小写,然后对其进行...
  • 从键盘接收一个字符串。然后按照字符串顺序从小到大进行排序并删除重复字符
  • public class StringRemoveDuplicationOne { //去掉重复字符串 public static void main(String[] args) { //定义一个有重复字符的字符串,一个空字符串接受没有重复的字符串 String stringOne = ...
  • 按照ASCII码从小到大的顺序输出字符串A减去字符串B的差集,并且重复字符只出现一次。 输入样例】 Hello world! Ni hao ma? 【输出样例】 !Hdelrw 样例说明】 输入的字符串A为"Hello world!",字符串B为"Ni ...
  • #include #include #include using namespace std; int main(){ void println(string s);...输入: 字符串 ...输出: 去除重复字符并排序字符串 样例输入: aabcdefff 样例输出: abcdef */
  • 本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。 输入格式: 输入是一个以回车结束的非空字符串(少于80个字符)。 输出格式: 输出去重排序后的结果字符串。 输入样例:...
  • 删除一个字符串重复的字符,借助插入排序的思想向前搜索。
  • 中key 是个set集合,要求是不能重复的,可以利用这个思路来解题 import java.util.*; public class Test4 { public static void main(String[] args) { Scanner sc = new Scanner(System.i...
  • 输入一个非空字符串去除重复的字符后,从小到大排序输出为一个新字符串。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/b9d6e69f05914e7ab8a7662652a6ad45.png?x-oss-process=image/watermark,type_...
  • 【问题描述】编写一个程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序并删除重复的字符。 【输入形式】从键盘输入一个字符串,以回车结束输入。要求程序可以处理含有空格的字符串。 【输出形式】...
  • 华为机试题C++-去除重复字符并排序

    千次阅读 2015-09-16 21:32:41
    题目:去除重复字符并排序  去除重复字符并排序 运行时间限制:无限制 ...输出: 去除重复字符并排序字符串 样例输入: aabcdefff 样例输出: abcdef C++实现如下: #include using namespace std; #include
  • 去除字符串中连续重复的字符

    千次阅读 2021-02-28 17:43:06
    目的:把字符串中连续重复的字符赐除掉。输入:序列:kkkhan888shioobo66正确的返回结果应该是:...(该步可省略)4找出连续重复的子序列,把这些连续重复的子序列用空(字字符串)替换。5 返回输出。codepubli...
  • C++里面如何去除一个字符串里面重复字符各路方法1,两层for循环时间复杂度高,代码也多2,利用set集合完成思路清晰,代码简单,效率也低3,利用stl库函数集合完成代码较少,容易理解,上手简单4,结合标记数组操作...
  • 题目:牛牛有一个由小写字母组成的字符串s,在s中可能有...解题思路:对于一个字符串,要想清除里面的重复字符,我们可以将其分割处理成一个个字符并集合成一个数组,然后,遍历这个数组,利用set集合的不重复性,s...
  • 删除一个数组或字符串中的重复元素对其进行排序的问题大概大家都遇到过。 之前我的思路: 1.先将数组里所有的元素排序。 2.用将数组元素向前移覆盖掉重复元素的方法删除重复元素。 #include<stdio.h> #...
  • 描述:输入一个非空字符串去除重复字符后,从小到大排序输出为一个新字符串。 输入:一个非空字符串 输出:去重排序字符串 代码详情 str1=input() s=set(str1) s=list(s) s.sort(reverse=False) s="".join(s) ...
  • 本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。 输入格式: 输入是一个以回车结束的非空字符串(少于80个字符)。 输出格式: 输出去重排序后的结果字符串。 #include &...
  • mysql concat()函数MySQL的concat函数可以连接一个或者多个字符串,如selectconcat('10');输出10selectconcat('11','22','33');输出112233而Oracle的concat函数只能连接两个字符串select concat('11','22') from dual...
  • 面对一连串的字符,有时候我们想要删除重复字符,有时候又想删掉所有的字符只保留数字,肿么办捏? 别急,下面一一为您解答。
  • PTA-浙大版《Python 程序设计》题目集-第3章-16 删除重复字符 (20分) 本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。 输入格式: 输入是一个以回车结束的非空字符串...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 219,881
精华内容 87,952
关键字:

去除重复字符串并排序