冒泡法排序

#include<stdio.h>
 int main()
 {
 	int i,j=0,p,q=0,cut=0,flag;
 	char ch,temp,a[85],b[85];
 	ch=getchar();
 	for(i=0;ch!='\n';i++)
 	{
 		a[i]=ch;
 		cut++;
 		ch=getchar();
 	}   \\这是输入字符串;这个是有控制条件的输入字符串而且是一行结束\\
 	如果需要两行的话
 	char a, ch, str[80];
	scanf("%c\n", &a);
ch=getchar()
for(i=0;ch!='\n';i++)
 	{
 		a[i]=ch;
 		cut++;
 		ch=getchar();
 	} 

\\华丽分割线+-+-+-+-+-+*-*-*-*-*-*-*\\

for(i=0;i<cut;i++)  \\cut是字符串长度,有可能是你已经筛选过后的字符串;\\
 	{
 		flag=0;    \\每次都将flag初始化目的就是需要flag作为一个变量。\\
 		for(p=0;p<i;p++)
 		{
 			if(a[i]==a[p]) 
			 {
			 flag=1;
		     }
 		}     \\进行i-1次比较假如输入的一个字符和之前的有重复的话就令flag=1;所以这就是flag的作用所在;
 		if(flag==0)
 		{
 			b[j]=a[i];j++;
 		}    \\这是当flag=0也就是输入的那个数不重复的时候就是数组里那些不重复的数可以将它们放在一个数组里继续进行下面的操作比如按照ASCII码输出啦 或者按照其他条件输出\\
 	} 

\\冒泡法进行排序\\
for(i=0;i<j-1;i++)\\注意条件,如果字符串长度是j的话循环的时候要用到j-1\\
 	 {
 	 	for(p=0;p<j-1-i;p++) \\实际上是进行j-1-i次比较\\
 	 	{
 	 		if(b[p]>b[p+1]) 
 	 		{
 	 			temp=b[p];
 	 			b[p]=b[p+1];
 	 			b[p+1]=temp;
 	 		}
 	 	}
 	 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值