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

处网站的建设微商运营

处网站的建设,微商运营,余姚微信网站建设,企业做网站公司有哪些负数移到正数前面 已知顺序表 ( a 1 , … , a n ) (a_{1},\dots,a_{n}) (a1​,…,an​),每个元素都是整数,把所有值为负数的元素移到全部正数值元素前边 算法思想 快排的前后指针版本 排序|冒泡排序|快速排序|霍尔版本|挖坑版本|前后指针版本|非递归版…

负数移到正数前面

已知顺序表 ( a 1 , … , a n ) (a_{1},\dots,a_{n}) (a1,,an),每个元素都是整数,把所有值为负数的元素移到全部正数值元素前边

算法思想

快排的前后指针版本
排序|冒泡排序|快速排序|霍尔版本|挖坑版本|前后指针版本|非递归版本|优化|三数取中©-CSDN博客
前后两个指针往后走
cur找负数,++prev,交换prev和cur的值
prev有两种情况:

  1. 在cur还没遇到正数的时候,prev紧跟着cur
  2. 在cur遇到正数的时候,prev在一组正数的前面
    交换:把正数往后推,把负数往前甩
    本质是把一段正数的区间,推箱子似的往右推,同时把负数甩到左边去
int Rearrange(SqList a, int n)
{int prev = 0;  //指针 prev,用于记录负数区间的最后一个负数int cur = 0;   //指针 cur,用于遍历数组中的每个元素while (cur < n)  //继续遍历直到 cur 超出数组范围{if (a[cur] < 0)   //如果当前元素为负数{Swap(&a[prev++], &a[cur]);  //将负数放到负数区间的末尾}++cur;            //移动 cur 到下一个元素}return prev;          //返回负数区间的结束位置
}

![[Pasted image 20241025141506.png]]

cur指向的是负数,与prev交换,prev++
![[Pasted image 20241025141633.png]]

cur++,判断下一个元素
![[Pasted image 20241025141655.png]]

为3,cur继续往下遍历
![[Pasted image 20241025141715.png]]

cur指向-4,与prev交换,prev++
![[Pasted image 20241025141813.png]]

cur++
![[Pasted image 20241025141826.png]]

指向-1,与prev交换,prev++
![[Pasted image 20241025141906.png]]

cur++
![[Pasted image 20241025141917.png]]

为6,结束循环

小于x移到大于x前面

设有一元素为正数的线性表L(a1,a2,…,an),存放在一维数组A[N]中,以an作为参考元素,将该表分为左右两部分,左半部分的每个元素小于等于an,右半部分每个元素都大于an,an位于分界位置上,并把结果仍存放在A[N]

int Rearrange(int a[], int n)
{int prev = 0;         //指针 prev,用于记录小于an区间的最后一个负数int cur = 0;   //指针 cur,用于遍历数组中的每个元素int keyi = n - 1;while (cur < n)  //继续遍历直到 cur 超出数组范围{if (a[cur] < a[keyi])   //如果当前元素小于an{Swap(&a[prev++], &a[cur]);  //将其放到前半部分区间的末尾}++cur;            //移动 cur 到下一个元素}//只有在 prev 不等于 keyi 时才交换if (prev < keyi){Swap(&a[prev], &a[keyi]);}return prev;          //返回小于an的元素数量
}

奇数移到偶数前面

已知线性表按顺序存储,且每个元素都是整数均不相同,把所有奇数移到所有偶数前边

思想同上

int Rearrange(SqList a, int n)
{int prev = 0;  //指针 prev,用于记录负数区间的最后一个负数int cur = 0;   //指针 cur,用于遍历数组中的每个元素while (cur < n)  //继续遍历直到 cur 超出数组范围{if (a[cur] % 2 != 0)   //如果当前元素为奇数{Swap(&a[prev++], &a[cur]);  //将奇数放到前半区间的末尾}++cur;            //移动 cur 到下一个元素}return prev;          //返回奇数区间的结束位置
}
http://www.yayakq.cn/news/387719/

相关文章:

  • 帮企业做网站赚钱吗商贸有限公司怎么注销
  • 国内产品推广网站如何做一个营销方案
  • 论坛网站建设多少钱排名优化公司口碑哪家好
  • 做网站备案好还是不备案好韩国电视剧
  • 用老域名做网站还是新域名wordpress 转app
  • 免费素材app抖音seo培训
  • 怎么做别人网站销售的东西公证清远网站制作公司
  • 单页网站怎么做排名做外贸的收入一般多少
  • 青浦网站建设公司wordpress 去除页面标题
  • 上海网站建设公司招聘佛山网站建设的公司
  • vs2013网站开发教程做网站优化的注意事项
  • 企业网站建设基本原则上位机软件开发平台
  • 龙岗网站建设哪家技术好宁波建设教育培训网
  • 济南网站建设 找小七济南网站建设tailook
  • 北京网站排名seo长春做网站团队
  • 快站公众号工具工业产品设计图
  • 公司企业建设网站策划公司架构
  • 电力建设官方网站国内大的网站建设公司排名
  • 哪个建站比较好关键词排名查询工具免费
  • 手机版网站建设合同wordpress免费空间
  • 网站推广多少钱一年wap网站生成小程序
  • 网站做cdn服务流量现在做网络推广都有什么方式
  • 上传文档到网站上怎么做wordpress 耗资源
  • 用手机域名做网站有多少石佛营网站建设
  • 龙岗开发公司网站建设营销培训心得
  • 网站域名和服务器到期深圳做互联网教网站公司
  • 国企网站建设网站设置受信任
  • 舟山市建设信息港网站打不开广州外包网络推广公司
  • 无锡设计网站公司可以做免费推广的网站
  • 网站超链接怎么做 word网站推广seo招聘