精华内容
下载资源
问答
  • ``` for(var i=0,len=arr.length; i; i++){ if(符合条件){ arr.splice(i);...像上面这样,在遍历过程中,删除某个元素,会存在问题,可能导致某些元素没有机会被遍历。 这个算法应该如何改进?
  • Array pop方法只是删除栈顶元素,所以写了个方法Array.prototype.contains = function(o) { //判断数组arr中是否含有元素,有返回index,没有返回-1 var index = -1; for(var i=0;ithis.length;i++) { if(this...

     Array 的pop方法只是删除栈顶元素,所以写了个方法

    Array.prototype.contains = function(o) 
    {
    //判断数组arr中是否含有元素,有返回index,没有返回-1
          var index = -1;
         
    for(var i=0;i<this.length;i++)
          {
            
    if(this[i]==o)
             {
                index
    = i;
               
    break;
             }
          }
         
    return index;

    }

    Array.prototype.remove= function(o) 
    {
    //判断数组arr中是否含有元素o
        var index;
       
    var t = this;
       
    if((index=this.contains(o))!=-1)
        {
            t
    = t.slice(0,index).concat(t.slice(index+1,t.length));
        }
      
       
    return t;
    }

    展开全文
  • 删除数组元素

    2020-02-10 15:30:08
    从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的...

    算法训练 删除数组零元素

    资源限制
    时间限制:1.0s 内存限制:512.0MB
    问题描述
    从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中元素的个数并依次输出数组元素。
    样例输入: (输入格式说明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数)
    5
    3 4 0 0 2
    样例输出:(输出格式说明:3为非零数据的个数,3 4 2 是以空格隔开的3个非零整数)
    3
    3 4 2
    样例输入:
    7
    0 0 7 0 0 9 0
    样例输出:
    2
    7 9
    样例输入:
    3
    0 0 0
    样例输出:
    0

    C语言代码:

    #include<stdio.h>
    #include<malloc.h>
    int delete_0(int p[],int n)
    {
    	int i,j,count=0;
    	for(i=0;i<n;i++)
    	{
    		if(p[i]!=0)
    			count++;
    		else
    			{
    				for(j=i;j<n-1;j++)
    					p[j]=p[j+1];
    				n=n-1;
    				i=i-1;
    			}
    	}
    	return count;
    }
    
    int main()
    {
    	int n,*p,i,count;
    	scanf("%d",&n);
    	p=(int *)malloc(sizeof(int)*n);
    	for(i=0;i<n;i++)
    		scanf("%d",&p[i]);
    	count=delete_0(p,n);
    	printf("%d\n",count);
    	for(i=0;i<count;i++)
    		printf("%d ",p[i]);
    	printf("\n");
    	free(p);
    	return 0;
    }
    
    展开全文
  • 删除数组重复元素

    2020-03-04 20:37:40
    删除数组重复元素 作者: Turbo 时间限制: 1S 章节: 一维数组 问题描述 : 已有一维数组,存储不超过100个整型数据,其中有些元素的值存在重复,从数组中删除所有重复的元素(每个元素只保留一个),并输出结果数组。 ...

    删除数组重复元素

    作者: Turbo 时间限制: 1S 章节: 一维数组

    问题描述 :

    已有一维数组,存储不超过100个整型数据,其中有些元素的值存在重复,从数组中删除所有重复的元素(每个元素只保留一个),并输出结果数组。

    输入说明 :

    用户可输入多组数据,每组数据由两行组成:

    第一行:数组元素的个数n

    第二行:n个数组元素,由空格分隔

    输出说明 :

    对于每组输入,输出最后的结果,整数之间以空格分隔。每行的开头与结尾无多余空格。

    每组输出占一行。

    输入范例 :

    10
    1 5 4 3 2 9 7 8 6 10
    10
    1 5 5 3 2 9 7 8 6 10

    输出范例 :

    1 5 4 3 2 9 7 8 6 10
    1 5 3 2 9 7 8 6 10

    #include<stdio.h>
    int main(){
        int n;
    	while(scanf("%d",&n)!=EOF){
    		int i;
    		int g;
    		int j=0,k=0;
    		int a[100];
    		for(i=0;i<n;i++){
    			scanf("%d",&a[i]);
    		}
    		for(g=0;g<n;g++){
    			for(i=g+1;i<n;i++){
    				if(a[i]==a[g]){
    					for(j=i;j<n;j++){
    						a[j]=a[j+1];	
    					}
    					k++;//n-k 每次去掉一个重复值最后输出位数减少一位
    				}
    			}
    		}
    		if(n-k==0)
    			printf("Empty array!");
    		else{
    			for(i=0;i<n-k-1;i++){
    				printf("%d ",a[i]);
    			}
    			printf("%d",a[n-k-1]);
    		}
    		printf("\n");
    	}
    	return 0;
    }
    
    展开全文
  • 从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的...

     算法训练 删除数组零元素  
    时间限制:1.0s   内存限制:512.0MB
        
    从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中元素的个数并依次输出数组元素。
    
    样例输入: (输入格式说明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数)
    5
    3 4 0 0 2
    样例输出:(输出格式说明:3为非零数据的个数,3 4 2 是以空格隔开的3个非零整数)
    3
    3 4 2
    样例输入: 
    7
    0 0 7 0 0 9 0
    样例输出:
    2
    7 9
    样例输入: 
    3
    0 0 0
    样例输出:
    0
    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner sc = new Scanner(System.in);
    		int a = sc.nextInt();
    		int[] b = new int[a];
    		for (int i = 0; i < b.length; i++) {
    			b[i] = sc.nextInt();
    		}
    		int q = CompactIntegers(b, b.length);
    		System.out.println(q);
    		for (int i = 0; i < q; i++) {
    			if (i < (q - 1)) { // 最后一个数后没有空格
    				System.out.print(b[i] + " ");
    			} else {
    				System.out.print(b[i]);
    			}
    		}
    
    	}
    
    	static int CompactIntegers(int x[], int y) {
    		int count = 0;
    		int j = 0;
    		for (int i = 0; i < y; i++) {
    			if (x[i] == 0) {
    				count++;
    			} else {
    				x[j] = x[i];
    				j++;
    			}
    		}
    		return y - count;
    
    	}
    
    }
    



    展开全文
  • java:删除数组元素

    2020-02-28 18:51:56
    从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的...
  • 循环删除数组元素的正确方法

    千次阅读 2018-09-12 11:03:27
    提起循环删除数组的元素,最先想到的就是使用for循环和数组的splice方法来实现(正序循环删除方法),如下代码用来实现删除数组中大于2的元素: let arr = [1, 2, 3, 4, 5, 4, 3, 2, 1]; for (let i = 0, len ...
  • 从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的...
  • Java实现 蓝桥杯 算法训练 删除数组元素

    万次阅读 多人点赞 2019-06-11 19:55:57
    从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的...
  • 从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。 注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的...
  • 资源限制时间限制:1.0s 内存限制:512.0MB从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为...
  • 算法训练 删除数组零元素时间限制:1.0s 内存限制:512.0MB从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组...
  • JavaScript中如何删除数组某个元素, 通过索引删除 arr.splice(0,1)表示删除数组的第一个, arr.splice(1,1)表示删除从第二个开始,长度为1个的元素
  • 蓝桥杯-删除数组元素(java)

    千次阅读 2017-04-01 09:04:56
    从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,463
精华内容 11,785
关键字:

删除数组的元素