C++ 字符串去重排序实例代码
C++ 字符串去重排序实例代码
入一个字符串,去掉重复出现的字符,并把剩余的字符串排序输出。
实现代码:
#include <iostream> #include <string> using namespace std; void sort(string s) { char tmp[100]; int len=s.size(); int count=0,i,j; for (i=0;i<len;i++) { for (j=i+1;j<len;j++) { if (s[i]==s[j]) { s[j]='0'; } } } for (i=0;i<len;i++) { if (s[i]>='a' && s[i]<='z') { tmp[count++]=s[i]; } } //冒泡排序 for (i=0;i<count;i++) { for (j=0;j<i;j++) { char temp; if (strcmp(&tmp[j],&tmp[i])>0) { temp=tmp[j]; tmp[j]=tmp[i]; tmp[i]=temp; } } } for (i=0;i<count;i++) cout<<tmp[i]; cout<<endl; } void main() { string s; cin>>s; sort(s); }
测试结果,可能想的不周全,欢迎查漏补缺:
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
C++宽字符与普通字符的转换实例详解
C++宽字符与普通字符的转换实例详解 把字符串转换成宽字符串, 实例代码: wstring string2Wstring(string sToMatch) { #ifdef _A_WIN int iWLen = MultiByteToWideChar( CP_ACP, 0, sToMatch.c_str(), sToMatch.size(), 0, 0 ); // 计算转换后宽字符串的长度.(不包含字符串结束符) wchar_t *lpwsz = new wchar_t [iWLen + 1];
-
C++中输出十六进制形式的字符串
前言 在进行 i18n 相关的开发时,经常遇到字符编码转换的错误.这时如果能把相关字符串用十六进制的形式打印出来,例如,"abc" 输出成 "\\x61\\x62\\x63" 这对于 i18n 的除错来说是很有帮助的.Python 里面,只需要使用 repr() 函数就行了.可在 C++ 中如何做到这点呢? 下面是用 ostream 的格式化功能的一个简单的实现: std::string get_raw_string(std::string const& s
-
C++统计中英文大小写字母、数字、空格及其他字符个数的方法
本文实例讲述了C++统计中英文大小写字母.数字.空格及其他字符个数的方法.分享给大家供大家参考,具体如下: /* * 作 者: 刘同宾 * 完成日期:2012 年 11 月 28 日 * 版 本 号:v1.0 * 输入描述: * 问题描述: 有一篇文章,共有三行文字,每行有80个字符.要求分别统计出其中英文大写字母.小写字母.数字.空格以及其他字符的个数. * 程序输出: * 问题分析:略 * 算法设计:略 */ #include<iostream> using namespace std;
-
C++计算每个字符出现的次数
本文实例为大家分享了C++计算每个字符出现的次数的实现代码,供大家参考,具体内容如下 #include <iostream> //#include <cstdlib> #include <ctime> using namespace std; const int NUMBER_OF_LETTERS = 26; const int NUMBER_OF_RANDOM_LETTERS = 100; void createArray(char []); void display
-
C++实现从输入中读取字符串
你可以用这种方式读取一个单独的以空格结束的词: #include<iostream> #include<string> using namespace std; int main(){ cout << "Please enter a word:\n"; string s; cin>>s; cout << "You entered " << s << '\n'; } 注意,这里没有显式
-
浅谈c++ 字符类型总结区别wchar_t,char,WCHAR
1.区别wchar_t,char,WCHAR ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数. UNICODE:wchar_t是Unicode字符的数据类型,它实际定义在里: typedef unsigned short wchar_t; 另外,在头文件中有这样的定义:typedef wchar_t WCHAR; 所以WCHAR实际就是wchar_t wchar_t 可用字符串处理函数:wcscat(),wcscpy(
-
c++中数字与字符串之间的转换方法(推荐)
1.字符串数字之间的转换 (1)string --> char * string str("OK"); char * p = str.c_str(); (2)char * -->string char *p = "OK"; string str(p); (3)char * -->CString char *p ="OK"; CString m_Str(p); //或者 CString m_Str; m_Str.Format(&q
-
C++ 字符串去重排序实例代码
C++ 字符串去重排序实例代码 入一个字符串,去掉重复出现的字符,并把剩余的字符串排序输出. 实现代码: #include <iostream> #include <string> using namespace std; void sort(string s) { char tmp[100]; int len=s.size(); int count=0,i,j; for (i=0;i<len;i++) { for (j=i+1;j<len;j++) { if (s[
-
C#操作字符串方法总结实例代码
废话不多说了,具体代码如下所述: staticvoid Main(string[] args) { string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD"; Console.WriteLine(s[0]); // 输出"A"; Console.WriteLine(s.Length); // 输出4 Console.WriteLine(); //(2)打散为字符数组(ToCharArray) s ="ABC
-
java 实现计数排序和桶排序实例代码
java 实现计数排序和桶排序实例代码 目录 比较和非比较的区别 常见的快速排序.归并排序.堆排序.冒泡排序等属于比较排序.在排序的最终结果里,元素之间的次序依赖于它们之间的比较.每个数都必须和其他数进行比较,才能确定自己的位置. 在 冒泡排序 之类的排序中,问题规模为n,又因为需要比较n次,所以平均时间复杂度为O(n²).在 归并排序.快速排序 之类的排序中,问题规模通过分治法消减为logN次,所以时间复杂度平均 O(nlogn) . 比较排序的优势是,适用于各种规模的数据,也不在乎数据的分布
-
C++ string 字符串查找匹配实例代码
在写C++程序中,总会遇到要从一个字符串中查找一小段子字符串的情况,对于在C中,我们经常用到strstr()或者strchr()这两种方法.而对于C++的string,我们往往会用到find(). C++:#inlcude<string> C: #include<string.h> find():在一个字符串中查找一个指定的单个字符或字符数组.如果找到,就返回首次匹配的开始位置:如果没有查找到匹配的内容,就返回string::npos. find_first_of():在一个目标串
-
对arraylist中元素进行排序实例代码
rrayList中的元素进行排序,主要考查的是对util包中的Comparator接口和Collections类的使用. 实现Comparator接口必须实现compare方法,自己可以去看API帮助文档. 创建一个Comparator实例后,用Collections.sort(List,<E>)对List中的元素进行排序. 下面是实现代码: 以下文件必须引入util包: package com.test; import Java.util.*; Emp.java文件如下: class Emp
-
python3实现字符串操作的实例代码
python3字符串操作 x = 'abc' y = 'defgh' print(x + y) #x+y print(x * 3) #x*n print(x[2]) #x[i] print(y[0:-1]) #str[i:j] #求长度 >>> len(x) 11 #将其他类型转换为字符串 >>> str(123) '123' #将数字转为对应的utf-8字符 >>> chr(97) 'a' #将字符转为对应的数字 >>> ord('
-
js字符串倒序的实例代码
1. var reverse = function( str ){ var newStr = '', i = str.length; for(; i >= 0; i--) { newStr += str.charAt(i); } return newStr; }; reverse('abcde') 2. var reverse = function( str ){ return str.split('').reverse().join(''); }; 3.(类似法2) var reverse =
-
Go 字符串格式化的实例代码详解
Go对字符串格式化提供了良好的支持.下面我们看些常用的字符串格式化的例子. package main import "fmt" import "os" type point struct { x, y int } func main() { // Go提供了几种打印格式,用来格式化一般的Go值,例如 // 下面的%v打印了一个point结构体的对象的值 p := point{1, 2} fmt.Printf("%v\n", p) // 如果所格式
-
c++ qsort 与sort 对结构体排序实例代码
#include<bits/stdc++.h> using namespace std; typedef struct { string book; int num; }Book; //qsort的比较函数 int cmp(const void * a, const void * b) { return (*(Book*)a).num > (*(Book*)b).num ? 1 : 0; } //sort的比较函数 bool cmp_(Book a, Book b) { return a
-
python对输出的奇数偶数排序实例代码
我们从小学的时候就学习了奇数偶数,知道整数可以分成奇数和偶数两大类,能被2整除的数叫做偶数,不能被2整除的数叫做奇数.在我们python编程中,会遇到很多数字和代码,有的时候会很乱,不好操作. 在遇到奇数偶数的时候,我们如果对他进行一个排序,有利于我们观看操作,下面,小编教教大家在python中怎么对奇数偶数排序. 示例: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 代码: # 输入:nums =[1,2,3,4] # 输
随机推荐
- Android中DrawerLayout实现侧滑菜单效果
- JavaScript实现的图像模糊算法代码分享
- java json字符串转JSONObject和JSONArray以及取值的实例
- 简单学习vue指令directive
- 超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
- 出现次数超过一半(50%)的数
- 浅析Objective-C中分类Category的使用
- C# 设计模式系列教程-组合模式
- C++开发之CRC校验实例详解
- PHP 八种基本的数据类型小结
- expect实现单台、多台服务器批量scp传输文件
- MySQL 自定义函数CREATE FUNCTION示例
- 详谈jQuery中使用attr(), prop(), val()获取value的异同
- jQuery div层的放大与缩小简单实现代码
- javascript获取当前的时间戳的方法汇总
- 用HOSTS文件屏蔽网站 建立网站映射的方法
- 火山互联linux VPS配置方法
- C++中实现矩阵的加法和乘法实例
- 解析C#编程的通用结构和程序书写格式规范
- Winform动态加载TabControl用法实例