首页 > 编程知识 正文

js根据索引删除数组元素,列表删除指定元素

时间:2023-05-03 15:27:26 阅读:33489 作者:4731

文章目录删除数组中的指定要素1、记录等于x的要素数2、记录不等于x的要素数3、划分

从数组中删除指定的元素

如果删除数组中的元素,位置会发生变化,因此必须依次向前移动后面的元素。 每次删除元素都移动的话,会花很长时间。 介绍三种时间复杂度为o(n )的算法进行删除操作和c代码实现。

另一方面,用记录等于x的要素个数的变量count记录数组中与x相等的要素个数,一边遍历数组一边更新count,修正数组的长度。 使用“”将修改返回到实际参考的length。

voiddel_x_1(intarr[],int length,int x ) {int count=0; 与//x相等元素的个数for(intI=0; ilength; I () if ) ARR[I]==x ) {count; }else{arr[i-count]=arr[i]; }}length-=count; )二、用变量count记录记录不等于x的要素个数的排列中不相等的要素个数,也是删除后的要素个数,大致想法相同。 因为根据count记录的信息的不同,具体的操作也不同。

voiddel_x_2(intarr[],int length,int x ) {int count=0; 不等于//x元素的个数for(intI=0; ilength; I(if ) ARR[I]!=x ({ arr [计数]=arr [ I ]; } }长度=计数; }三、分区利用快速排序分区的思想,将数组分为不等于x的部分和等于x的部分。

voiddel_x_3(intarr[],int length,int x ) {int i=-1; for(intj=0; jlength; j () if ) ARR[j]!=x () I; swap(arr[I],arr[j]; //j将位置的元素放置在非x区域}}length=i 1; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。