合并排序
#include
#include
#include
using namespace std;
#define SIZE 1000
void Merge(int buff[],int ary[],int bgn,int q,int end){//局部排序
int i,j,bn=bgn;
for(i=bgn,j=q+1;i {
if(ary {
buff[bn++]=ary[j];
++j;
}
else
{
buff[bn++]=ary;
++i;
}
}
while(i buff[bn++]=ary;
//剩下元素追加尾部
while(j buff[bn++]=ary[j++];
bn=bgn;
while(bn {
ary[bn]=buff[bn];//回归给原数组
bn++;
}
}
void Mergesort(int buff[],int ary[],int bgn,int end){//主排序函数
int q;
if(bgn {
q=(bgn+end)>>1;//非单个元素继续分组
Mergesort(buff,ary,bgn,q);
Mergesort(buff,ary,q+1,end);
Merge(buff,ary,bgn ,q,end);
}
}
int main(){//测试
int i,ary[SIZE],buff[SIZE];
printf("input 10 numbers :\n");
for(i=0;i scanf("%d",&ary);
for(i=0;i printf("%d,",ary);
printf("\n");
Mergesort(buff,ary,0,9);
for(i=0;i printf("%d,",ary);
printf("\n");
return 0;
}
冒泡排序
#include
#include
using namespace std;
void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers :\n");
for(i=0;i scanf("%d",&a);
printf("\n");
for(j=0;j for(i=0;i if(a>a)
{t=a;a=a;a=t;}
printf("the sorted numbers:\n");
for(i=0;i printf("%d ",a);
getchar();
}
选择排序
#include
#include
using namespace std;
void main()
{
int num[10];int i,j,temp;
printf("Please input 10 numbers:\n");
for(i=0;i scanf("%d",&num);
for(i=0;i for(j=i+1;j if(num[j] {temp=num;
num=num[j];
num[j]=temp;
}
printf("The sorted numbers:\n");
for(i=0;i printf("%4d",num);
getchar();
}
插入排序
#define N 10
#include"stdio.h"
#include
using namespace std;
void main()
{ int i,j,k,t,a[N];
printf("Please input %d numbers:\n",N);
for(i=0;i scanf("%d",&a);
for(i=1;i {
for(j=0;j {if(a[j]>a)
{t=a;
for(k=i;k>j;k--)
a[k]=a[k-1];
a[j]=t;
}
}
}
printf("small to big order:\n");
for(i=0;i printf("%-5d",a);
printf("\n");
getchar();
}
蛮力法字符串匹配
#include"stdio.h"
#include
using namespace std;
int bfsm(char t[],char p[],int n,int m)
{
int i,j;
for(i=0;i {
j=0;
while(j {
j++;}
if(j==m)
return i+1;
}
return -1;
}
void main()
{ int k,n,m;
char t[10],p[3];
printf("Please input string t:");
//for(i=0;i //scanf("%c",t);
cin>>t;
n=strlen(t);
printf("Please input string p:");
cin>>p;
m=strlen(p);
//for(i=0;i //scanf("%c",p);
k=bfsm(t,p,n,m);
if(k==-1)
printf("没找到匹配字符!");
else
printf("匹配字符位置:%d",k);
printf("\n");
getchar();
}
上一篇 下一篇 返回日志列表 标签(Tags):ary printf buff int i++本文链接: 复制 签名档
做自己想做的,多些快乐少些烦恼!!
评论列表想第一个看到日志抢沙发?
QQ空间温馨提示:腾讯官方不会以任何留言方式向您发布中奖信息。请勿轻信留言中的中奖信息,更不要拨打陌生电话及向陌生帐户汇款,谨防受骗!识别更多网络骗术,请点击:腾讯反骗术帮助中心。上一页 1 下一页转到 页确定发表评论共1篇评论,第1页/共1页
取消批量删除批量删除全选删除
0芋头 芋头 芋头
发纸条 加好友 送礼物回复 | 引用 | 举报 | 删除 1楼 芋头 2009年4月12日 22时6分59秒不错,继续努力。
上一页 1 下一页转到 页确定共1篇评论,第1页/共1页
使用签名档匿名评论发表评论
点击这里发表评论,如果您要显示签名档,请点击“设置”并勾选“使用签名档”
设置
使用签名档 道具:请选择道具隐身草彩虹炫天使之爱 悄悄话 | (以小纸条形式发送) 查看今日免费发送数量
通知到好友信息中心(该评论可显示在QQ好友及关注我的友人的信息中心)
确定马上开通空间,体验权限日志、私密记事本等全新日志体验!
上一篇 下一篇 返回日志列表
loading......