序列的操作(增,删,去重,合并)

//如果序列有序则直接进行序列的操作,如果序列无序则先进行排序然后在进行序列的操作 //下面的序列都是有序的。

//思路:给要增加的数组多一个位置方便加入
#include<stdio.h>
int main()
{
    int n=0,i = 0,add = 0,arr[10]={0};
    scanf("%d",&n);
	//输入一个有序序列
	for(i=0;i<n;i++)
    {
        scanf("%d",&arr[i]);
    }
    //输入要增加的数
    scanf("%d",&add);
    for(i=n;i>0;i--)
        
    {
        //如果原序列的数大于要增加的数,则让原序列的数向后移动一格
        if(arr[i-1]>add)
        {
            arr[i]=arr[i-1];
        }
        //如果原序列的数小于要增加的数,则直接插入到原序列数的后面;
        else
        {
            arr[i]=add;
            break;
        }
    }
    if(i==0)
    {
        arr[0]=ad;
    }
       for(i=0;i<n+1;i++)
    {
        printf("%d ",arr[i]);
    }
    return 0;
}


删除


int main(void){
	int i = 0,del = 0,n = 0,arr[10]={0},count=0;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d",&arr[i]);
	}
	scanf("%d",&del);
    //将你要删除的数的位置记录下来
	for(i=0;i<n;i++){
		if(del==arr[i]){
			count = i;
		}
	}
    //用控制语句将你要删除的数不要输出
	for(i=0;i<n;i++){
		if(i!=count){
			printf("%d ",arr[i]);
		}
	}
	return 0;
} 

去重


int main(void){
	int i = 0,j = 0,n = 0,a[10]={0},count=0;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++){
		j = 0
		for(j=i+1;j<n;j++0){
        	//从第一个进行开始比对如果相等了则去重
			if(a[i]==a[j]){
            	//用count记录那个重复的位置,然后让后面的数顶替这个重复的
				for(count=j;count<n-1;count++){
					a[count] = a[count+1];
				}
				n--;因为去重了所有少了一个
				j--;防止出现2个以上的重复数字
			}
		}
	}
	for(i=0;i<n;i++){
		printf("%d",a[i]);
	}
	return 0;
} 

合并

 
int main()
{
    int n=0,m=0,i=0,j=0,arr[10]=0,brr[10]={0};
   
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
    {
        scanf("%d",&arr[i]);
    }
    for(i=0;i<m;i++)
    {
        scanf("%d",&brr[i]);
    }
    i=0;
    while(i<n&&j<m)
    {
        if(arr1[i]<arr2[j])
        {
            printf("%d ",arr[i]);
            i++;
        }
        else
        {
            printf("%d ",brr[j]);
            j++;
        }
    }
    if(i==n)
    {
        for(;j<m;j++)
        {
            printf("%d ",brr[j]);
        }
    }
     else
     {
         for(;i<n;i++)
         {
             printf("%d ",arr[i]);
         }
     }
    
    return 0;
# }