例如:给定一个一维数组 a[10]={1,78,63,5,14,79,36,45,1,45},
1、要求插入一个数据以及一组数据(前提是有序数组)
2、查找某个元素是否存在 。1)顺序查找 2)二分查找
3、在一维数组中删除相同的元素并排序
可进行先删除相同或的元素在排序,也可先排序再删除相同的元素
4、排序 (排序算法很多,就选经典的冒泡算法,插入排序)
1、在数组中插入一个数据
#include<stdio.h>
#define M 100
int main(){
int a[M]={1,78,63,5,14,79,36,45,1,45};
int x,i,j,k ,temp;
//先对无序的数组元素排序
for(i=0;i<10;i++){
for(j=0;j<10-i-1;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<10;i++){
printf("%d ",a[i]);
}
printf("\n需要插入的数:\n");
scanf("%d",&x);
j=0;
while(a[j]<=x)j++;
for(k=10;k>=j;k--){ //比x大的元素后移
a[k+1]=a[k];
}
a[j]=x;
//打印输出
for(i=0;i<11;i++){
printf("%d ",a[i]);
}
}