冒泡排序

//冒泡排序
#include <stdio.h>
#include <stdlib.h>
void main()
{
	int a[10];//={45,42,132,78,65,64,71,48,13,137};
    int i,t,j;
     for (i=0;i<10;i++)
    {
		printf ("请输入第%d数据!",i+1);
        scanf ("%d",&a[i]);
    }
    for (i=1;i<10;i++)
    {
		for (j=0;j<10-i;j++)
        {
			if (a[j]>a[j+1])
				{
					t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                }
        }
    }
    for (i=0;i<10;i++)
    {
		printf ("【%d】",a[i]);
    }
	system("pause");	//dos暂停命令,可省去!
	return 0;
}

简单选择排序

//简单选择排序
#include <stdio.h>
#include <stdlib.h>
void main()
{
	int a[10]={10,45,3,45,46,44,78,66,75,985};
	int i,j,min,t;
	for(i=0;i<10;i++)
	{
        min=i;
        for(j=i+1;j<10;j++)
          if(a[min]>a[j])
			min=j;
			t=a[i];
			a[i]=a[min];
			a[min]=t;
	}

	for(i=0;i<10;i++)
	{
		printf("%d,",a[i]);
	}

	system("pause");
	return 0;
}

直接插入排序

//直接插入排序
#include <stdio.h>
#include <stdlib.h>
void main()
{
	int a[]={45,42,132,78,65,64,71,48,13,137};
    int i,t,j;
    for (i=1;i<10;i++)//控制执行次数(n-1)
    {
		t=a[i];//保存无序区第一条记录
        j=i-1;
        while (a[j]>t&&j>=0)
        {
			a[j+1]=a[j];
            j--;   
        }
        a[j+1]=t;
    }
	for (i=0;i<10;i++)
    {
		printf ("【%d】",a[i]);
    }
	system("pause");
	return 0;
}

顺序查找

//顺序查找
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a[10]={45,42,132,78,65,64,71,48,13,137};
int i,x,y;
printf("输入你要查找的数:");
scanf("%d",&x);
y=0; //标记是否已找到,y=1表是找到了,y=0表示没找到
for(i=0;i<10;i++) //循环,把x和数组中的元素一个个比较
{
if(x==a[i]) //如果x=a[i]说明已经找到
{
y=1; //把y变成1,说明已经找到了 
printf("你要查找的数%d在第个%d位置\n",x,i+1); //输出找到的相关信息
break; //跳出循环
}
}
if(y==0)printf("无法找到你要查找的数\n"); //y=0表示找不到

	system("pause");
	return 0;
}

二分查找

//二分查找
#include <stdio.h>
#include <stdlib.h>
void main()
{
	int a[10]={25,29,36,45,78,88,97,136,456,888};
	int low,high,mid,x;
    printf ("请输入要查找的数据:");
	scanf("%d",&x);
	low=0;
	high=9;
	while(low<=high)
	{
		mid=(low+high)/2;
		if(a[mid]==x) break;
		else if(a[mid]>x)high=mid-1;
		else low=mid+1;
	}
	if(low>high)
		printf("查找失败\n");

	else
		printf("a[%d]是查找记录\n",mid);
    
	system("pause");//dos暂停命令,可省略!
	return 0;
}