经典的两个排序:
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站建设、枝江网络推广、微信小程序开发、枝江网络营销、枝江企业策划、枝江品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供枝江建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
(1)选择排序
#include stdio.h
main()
{
int a[5];
int i,j,k,t;
for (i=0;i5;i++)
scanf("%d",a[i]);
for (i=0;i4;i++)
{
k=i;
for(j=i+1;j5;j++)
if(a[k]a[j])
k=j;
if(k!=i)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
for(i=0;i5;i++)
printf("%3d",a[i]);
}
(2)冒泡排序
#include stdio.h
main()
{
int a[5];
int i,j,t;
for (i=0;i5;i++)
scanf("%d",a[i]);
for (i=0;i4;i++)
for(j=0;j4-i;j++)
{
if(a[j]a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for (i=0;i5;i++)
printf("%3d",a[i]);
}
我亲手写的。
#includestdio.h
#includestdlib.h
int get_len(char *);
void rp_last(char* , char* , char* );
int get_len(char* str)
{
if(str == NULL) return -1;
int i;
for(i=0;str[i];i++);
return i;
}
void rp_last(char *s,char *sub1,char *sub2){
int i,j;
int k;
int sLen;
int sub1Len;
int sub2Len;
sLen=get_len(s);
sub1Len=get_len(sub1);
sub2Len=get_len(sub2);
for(i=sLen-1;i=0;i--)
{
for(j=sub1Len-1,k=i;j=0k=0;j--,k--)
if(s[k]!=sub1[j]) break;
if(j0) break;
}
//printf("%d\n",i);
if(j=0)
printf("not found!\n");
else if(sub1Lensub2Len)
{
k=sub1Len-sub2Len;
for(j=i+1;s[j-k]=s[j];j++);
for(j=sub2Len-1;j=0;j--,i--)
s[i-k]=sub2[j];
}
else{
k=sub1Len-sub2Len;
s[k+sLen]='\0';
for(j=sLen-1;ji;j--)
s[j+k]=s[j];
for(j=sub2Len-1;j=0;j--,i--)
s[i+k]=sub2[j];
}
printf("result:%s\n",s);
return ;
}
void main()
{
char s[256];
char sub1[100];
char sub2[100];
printf("s :");gets(s);
printf("sub1:");gets(sub1);
printf("sub2:");gets(sub2);
rp_last(s,sub1,sub2);
return ;
}
#include stdio.h
void sort(int a[], int n) {//选择排序
int i,j,k,t;
for(i = 0; i n - 1; ++i) {
k = i;
for(j = k + 1; j n; ++j) {
if(a[k] a[j]) k = j;
}
if(k != i) {
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
}
int main() {
int a[] = {21,16,30,21,8,19,33,26,28,27,24,50,13,12};
int i,n = sizeof(a)/sizeof(a[0]);
printf("排序前:\n");
for(i = 0; i n; ++i)
printf("%d ",a[i]);
printf("\n");
sort(a,n);
printf("排序后:\n");
for(i = 0; i n; ++i)
printf("%d ",a[i]);
printf("\n");
return 0;
}
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void Sort(int *p,int n){
int i,j,k;
for(i=0;i10;i++){
for(k=i,j=i+1;j10;j++)
if(p[k]p[j]) k=j;
if(k!=i){
j=p[k];
p[k]=p[i];
p[i]=j;
}
}
}
void main(void){
int mat[10],i;
printf("Type 10 integers...\n");
for(i=0;i10;scanf("%d",mat+i++));
Sort(mat,10);
for(i=0;i10;printf("%d ",mat[i++]));
printf("\n");
}