C#对字符串的排序重组问题.doc

C#对字符串的排序重组问题.doc

ID:57254263

大小:39.50 KB

页数:4页

时间:2020-08-07

C#对字符串的排序重组问题.doc_第1页
C#对字符串的排序重组问题.doc_第2页
C#对字符串的排序重组问题.doc_第3页
C#对字符串的排序重组问题.doc_第4页
资源描述:

《C#对字符串的排序重组问题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、对字符串排序重组已知一个字符串,由数字、大写字母、小写字母和其他字符组成。将字符串按数字的排在最前面,大写字母排在中间,小写字母排在后面,其他字符排在最后面,不要打乱字符的前后顺序。比如字符串"sfD8MgA2中S国a人G7"排序结果:"8257DMASGsfga中国人"。思路:以字符串"sfD8MgA2中S国a人G7"为例第一步:如果索引0的字符不是数字,则找出第一个数字,将它放在索引0的位置,其他字符索引向后移动一位找出第二个数字,将它放在索引1的位置,其他字符索引向后移动一位……以此类推。排序结果是8257sfDM

2、gA中s国a人G第二步:从不是数字的第一个字符(索引upperLetterIndex)开始排序,找出第一个大写字母,放在upperLetterIndex索引位置,将字符索引向后移动一位。第三步:从upperLetterIndex向后查找找出第一个不是大写字母的开始小写字母排序。操作同上。小写字母排序结束,剩下的就是其他字符了。程序源代码:///

///已知一个字符串,由数字、大写字母、小写字母和其他字符组成。///将字符串按数字的排在最前面,大写字母排在中间,///小写字母排在后面,其他字符排在最后面,不

3、要打乱字符的前后顺序。///如字符串"sfD8MgA2中S国a人G7"排序结果:"8257DMASGsfga中国人"///

staticvoidSortArr(){strings="sfD8MgA2中S国a人G7";//数字的最前面,大写字母中间,小写字母在后面,其他最后。不要改变次序//返回:DMASGsfga中国人char[]c=s.ToCharArray();for(inti=0;i

4、字放到当前索引位置。if(char.IsDigit(c[i])==false){for(intk=i+1;ki;j--){c[j]=c[j-1];}c[i]=temp;break;}}}}Console.WriteLine("第一次数字类型放在最前面--排序后结果:{0}",newstring(

5、c));intupperLetterIndex=0;//第一个不是数字的索引作为大写字母的索引for(inti=0;i='A'&&c[i]<='Z')==false){for(intk=i+1;k

6、>='A'&&c[k]<='Z'){chartemp=c[k];for(intj=k;j>i;j--){c[j]=c[j-1];}c[i]=temp;break;}}}}Console.WriteLine("第二次大写字母放在中间的--排序后结果:{0}",newstring(c));//从upperLetterIndex开始查找不是大写字母的intlowerLetterIndex=upperLetterIndex;for(inti=upperLetterIndex;i='

7、A'&&c[i]<='Z')==false){lowerLetterIndex=i;break;}}for(inti=lowerLetterIndex;i='a'&&c[i]<='z')==false)//如果当前不是小写字母{for(intk=i+1;k='a'&&c[k]<='z')//从下一个开始找小写字母找到中断{chartemp=c[k];for(intj=k;j>i;j--){c[j]=c[j-1];

8、}c[i]=temp;break;}}}}Console.WriteLine("第三次小写字母放在再后面--排序后结果:{0}",newstring(c));stringafterSortStr=newstring(c);Console.WriteLine("原来是:{0}排序后:{1}",s,afterSort

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。