排序
冒泡排序
#include "stdio.h"
void main()
{
int i,j,t=0,a[5]={1,3,5,2,4};
for(i=0;i<5-1;i++){
for(j=0;j<5-i-1;j++){
if(a[j]>a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<5;i++){
printf("%d",a[i]);
}
}
选择
#include "stdio.h"
void main()
{
int i,j,t=0,a[5]={1,3,5,2,4};
for(i=0;i<5-1;i++){
for(j=i+1;j<5;j++){
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0;i<5;i++){
printf("%d",a[i]);
}
}
插入排序
void main(){
int a[5]={1,3,2,5,4},i,j,x,t=0;
for(i=1;i<5;i++){
x=a[i];
for(j=i-1;j>=0&&a[j]>x;j--){
a[j+1]=a[j];
}
a[j+1]=x;
}
for(i=0;i<5;i++){
printf("%d",a[i]);
}
}
数组的插入
#include "stdio.h"
void main()
{void fun(int j[],int n,int x);
int i,x,j[5]={0,1,3,4,5};
scanf("%d",&x);
fun(j,5,x);
for(i=0;i<6;i++)
printf("%d",j[i]);
}
void fun(int j[],int n,int x)
{int i,b;
for(i=0;i<5;i++)
{if(x<j[i])
{for(b=n;b>i;b--)
{j[b]=j[b-1];}
j[i]=x;
break;
}
}
}
删除
void delete(int a[],int x){
int i,j;
for(i=0;i<5;i++){
if(i==x){
for(j=i;j<5;j++){
a[j]=a[j+1];
}
}
}
}
void main()
{
int a[5]={1,2,3,4,8},i;
delete(a,1);
for(i=0;i<4;i++){
printf("%d ",a[i]);
}
}
void main()
{int i,a[5]={0,1,2,3,4},x,t;
scanf("%d",&x);
for(i=0;i<5;i++)
{if(a[i]==x)
{
a[i]=a[i+1];
t=i;
for(i=0;i<t;i++)
printf("%d",a[i]);
}
}
for(i=t+1;i<5;i++)
printf("%d",a[i]);
}
修改
#include "stdio.h"
void main()
{void fun(int a[],int n,int x);
int i,x;
int a[5]={1,9,8,5,8};
scanf("%d",&x);
fun(a,5,x);
for(i=0;i<5;i++)
printf(" %d",a[i]);
}
void fun(int a[],int n,int x)
{int i;
for(i=0;i<5;i++)
{if(a[i]==8)
{a[i]=x;}}
}