当前位置: 首页 > wzjs >正文

名片在哪个网站做网站网址怎么写

名片在哪个网站做,网站网址怎么写,网站降权不更新文章可以吗,网站怎么做移动图片大全今天我们来进行顺序表后面习题的练习 目录 移除数组 思路1:查找后进行删除 思路2:新数组交换: 思路3:双指针法: 删除重复项 合并两个有序数组 移除数组 它的示例如下: 思路1:查找后进行删除…

        今天我们来进行顺序表后面习题的练习

目录

移除数组

思路1:查找后进行删除

        思路2:新数组交换:

        思路3:双指针法:

删除重复项

合并两个有序数组


移除数组

 它的示例如下:

思路1:查找后进行删除

如下图所示,当我们输入4的时候,进行第一次查找删除的操作

当我们执行完所有的流程之后,

#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
void delete(int r, int* arr, int size)
{int i = 0;if (r!=0){for (i = r - 1;i < size - 1;i++){arr[i] = arr[i + 1];}}}
int Find(int* arr,int size, int k)
{assert(arr);//遍历数组查找for (int i = 0;i <= size - 1;i++){if (k == arr[i]){//找到了return i + 1;}else{continue;}}return -1;//无效的下标表示没找到
}
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };int r=Find(arr, 10, 5);delete(r,arr,10);for (int i = 0;i <9;i++){printf("%d ", arr[i]);}return 0;
}

        思路2:新数组交换:

        思路:创建一个新的数组,当数组中的值不等于给定的值的时候将其赋值给新数组,然后将新数组的值赋值给旧数组

#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
void delete( int* arr, int size,int k)
{int *temp=(int *)malloc(sizeof(int)*size);for (int i = 0,j=0;i < size;i++,j++){if (arr[i] != k){temp[j]=arr[i];}else{temp [j] =0 ;}}for (int i = 0;i < size;i++){arr[i] = temp[i];}}
int main()
{int arr[10] = { 3,3,4,5,2,1,8,4,5 ,6};delete(arr, 10, 5);for (int i = 0;i <9;i++){printf("%d ", arr[i]);}return 0;
}

        思路3:双指针法:

        思路:给定两个指针,分别为快指针和慢指针,慢指针在快指针遍历一次数组后向后移动一次。当快指针指向的值等于给定的值的时候,继续向后走;当不等于的时候,将快指针的数据赋值给慢指针,慢指针向后移动一格。

// 双指针
int removeElement(int* nums, int numsSize, int val) {// slow为左指针,是将要赋值的位置;fast为右指针,是要赋值的元素int slow = 0, fast = 0;while(fast < numsSize){// 若右指针元素不为val,它一定是输出数组中的元素,将右指针元素复制到左指针元素if(nums[fast] != val){nums[slow++] = nums[fast];}// 若右指针元素为val,它不为输出数组中的元素,左指针不动,右指针向后移动fast++;}return slow;
}

删除重复项

        

示例:

思路:双指针法。第一个变量和第二个变量分别指向起始位置和后一个位置。

l力扣官方题解:

int removeDuplicates(int* nums, int numsSize)
{int sec=0;int eoc=sec+1;while(sec<numsSize){if(nums[sec]!=nums[eoc]&&++sec!=eoc){nums[sec]=nums[eoc];eoc++;}sec++;}return sec+1;
}

合并两个有序数组

        思路1:先合并再排序

        思路2:空间换时间:创建新数组tmp,大小与nums大小相同,遍历两个数组的数据比较大小并放到tmp中

        思路3:从后往前比较大小,找大的

        L1和L3比较大小。当L3大的时候,将L3的数据赋值给L2,随后L2和 L3 分别向前移动一个位置;L1大的时候,L1 赋值给L3 ,L1和L3 向前移动一个位置。直到有一个越界了停止

        代码如下:

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) 
{int l1=m-1;int l2=n-1;int l3=m+n-1;while(l1>=0&&l2>=0){//比较大小,找大的if(nums1[l1]>nums2[l2]){nums1[l3--]=nums1[l1--];}else {nums1[l3--]=nums2[l2--];}}//要么l1越界,要么l2越界while(l2>=0){nums1[l3--]=nums2[l2--];}}

        本期博客就到这里了。接下来我们将学习数据结构中单链表的内容


文章转载自:

http://DdHEttOM.kztts.cn
http://CKEs1A6q.kztts.cn
http://fVYpZEFi.kztts.cn
http://dnMfmRQf.kztts.cn
http://ylFBTyB6.kztts.cn
http://eAKsR0lW.kztts.cn
http://PHjfJmW8.kztts.cn
http://P0iyjwiv.kztts.cn
http://rJftGbrU.kztts.cn
http://O1TnlkWM.kztts.cn
http://9Xb0KTaY.kztts.cn
http://iz6Pwz8k.kztts.cn
http://mpzSRr9m.kztts.cn
http://50CyKycP.kztts.cn
http://TAXsuJTJ.kztts.cn
http://r7kpA5Y3.kztts.cn
http://nBTp9YsK.kztts.cn
http://cq13Hklo.kztts.cn
http://Vr3OJ2DI.kztts.cn
http://vLJ1AVzk.kztts.cn
http://JLGR6OyX.kztts.cn
http://6Kv90lYC.kztts.cn
http://vzG8oYrz.kztts.cn
http://NrPqBhOg.kztts.cn
http://ZyiApTXy.kztts.cn
http://hBBe0vFJ.kztts.cn
http://H77Yat03.kztts.cn
http://eDO2dclo.kztts.cn
http://5hVsoiBy.kztts.cn
http://ARepuvcp.kztts.cn
http://www.dtcms.com/wzjs/702876.html

相关文章:

  • 青岛城市建设投资建设集团网站谷歌可以绑定wordpress
  • 企业门户网站 php网页制作与设计教材
  • 跨境电商平台网站建设广州微信上的微网站在哪里
  • 正规手表回收网站东营网站设计
  • 多语种企业网站建设海口网红景点
  • 厦门网站建设团队新手怎么建立自己的网站
  • 品品牌牌建建设设网站代做ppt平台
  • 网站营销推广有哪些卢龙建设银行官网网站
  • 哪些是用vue做的网站python创建wordpress
  • 手工艺品网站建设方案珠海网站制作费用
  • 网站优化如何做深圳福田
  • 时装网站建设的背景青海省住房和城乡建设部网站
  • 网站配置全球贸易平台
  • 用易语言做攻击网站软件下载汽配网站建设成本
  • 小说网站开发思路抖音代运营培训
  • 辽宁做网站免费高清无专码区直接看
  • 深圳网站设计收费wordpress theme ide
  • 网易网站开发淘宝客手机网站搭建
  • 挖掘爱站网什么是二级网站推广
  • 成都建站模板制作网站的工作流程
  • 怎么把自己的网站做自适应网站网站服务器修改登录密码
  • 开发公司交钥匙流程官网seo
  • 八里庄街道网站建设网站设计时多页面切换时什么控件
  • 东莞门户网站建设报价表青岛网站设计公司在哪找
  • 网站开发都用php网站设计和网页设计
  • 我做网站价格一个网站可以做多少个小程序
  • 住房和建设厅官方网站怎么才能在百度搜到自己的网站
  • 广东粤建设计院网站seo宣传网站
  • 网站开发技术写什么内容北京最大的火车站
  • 政务服务网站建设性建议seo网站推广全程实例