首页 > 其他分享 >奇数前,偶数后排序

奇数前,偶数后排序

时间:2023-06-09 21:23:04浏览次数:32  
标签:sz arr right 奇数 int 偶数 while 排序 left

void move(int *arr,int sz)
{
int left = 0;
int right = sz - 1;
while (left < right)//left必须小于right 防止指针越界
{
//从左边找偶数
while (left < right && arr[left] % 2 == 1)
{
left++;
}
//从右边找奇数
while (left < right && arr[right] % 2 == 0)
{
right--;
}
//交换
if (left < right)
{
int tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
}
}
}
void print(int* arr, int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
printf("%d ", *(arr + i));
}
}
int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9,10,11,23,44};

int sz = sizeof(arr)/sizeof(arr[0]);
move(arr,sz);
print(arr,sz);

return 0;
}

标签:sz,arr,right,奇数,int,偶数,while,排序,left
From: https://www.cnblogs.com/zrk-8008/p/17470270.html

相关文章

  • Python版归并排序算法(附Python程序__name__属性用法演示视频)
    importrandomdefmergeSort(seq,reverse=False):#把原列表分成两部分mid=len(seq)//2left,right=seq[:mid],seq[mid:]#根据需要进行递归iflen(left)>1:left=mergeSort(left)iflen(right)>1:right=mergeS......
  • 【翻译】使用深度强化学习发现更快的排序算法
    目录Fastersortingalgorithmsdiscoveredusingdeepreinforcementlearning将算法表示为低级CPU指令DRLfordiscoveringfasteralgorithmsTransformerencoderLatencyvaluefunctionsResultsDiscoveringfastersortalgorithmsFixedsortingalgorithmsVariablesorting......
  • MySql必知必会教程--排序检索数据
    重点关键字:orderby排序单列数据:selectprod_namefromproductsorderbyprod_name;输出结果:+----------------+|prod_name|+----------------+|.5tonanvil||1tonanvil||2tonanvil||Birdseed||Carrots||Detonator......
  • vue3+ TS pinyin uniapp 索引列表-(A-Z)按首字母排序 ,锚点定位
    获取一维数组地址列表<scriptlang="ts"setup>import{getLocationList}from"@/apis/activity";import{onLoad}from"@dcloudio/uni-app";import{pinyin}from"pinyin-pro"import{ref}from"vue";const......
  • java 实现对象排序,实现java对象排序的三种方式
    1.自然排序:要排序的对象类实现Comparable<>接口,重写其compareTo()方法,方法体中实现对象的比较大小规则2.自定义排序,需编写匿名内部类,先new一个Comparator接口的比较器对象c,同时实现compare()其方法;然后将比较器对象c传给Collections.sort()方法的参数列表中,实现排序功能,......
  • 折中排序
    #include<stdio.h>#include<stdlib.h>#defineMAX100intbinarySearch(intlist[],intn,intkey,int*count){ intlow=0,high=n-1,num=0; intt=(low+high)/2; while(low<=high){ if(list[t]==key){ num++;......
  • 将一个数组拆分为一个为奇数数组,一个为偶数数组
    将一个数组拆分为一个为奇数数组,一个为偶数数组#include<stdio.h>intmain(){inta[10]={0,1,2,3,4,5,6,7,8,9};inti[10],j[10];intb,c,d;c=d=0;for(b=0;b<10;b++){if(a[b]%2==0){i[c]=a[b];c......
  • 将奇数数组与偶数数组合并为一个数组
    将奇数数组与偶数数组合并为一个数组#include<stdio.h>intmain(){inta[10];inti[10]={0,2,4,6,8};intj[10]={1,3,5,7,9};intb,c,d,e;d=e=5;c=0;for(b=0;b<d;b++){a[c]=i[b];c++;}for(b=0;b<e;b++......
  • 总结vue3 的一些知识点:MySQL 排序
    MySQL排序我们知道从MySQL表中使用SQLSELECT语句来读取数据。如果我们需要对读取的数据进行排序,我们就可以使用MySQL的 ORDERBY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。语法以下是SQLSELECT语句使用ORDERBY子句将查询数据排序后再返回......
  • js数组sort方法排序
    数组的sort方法可以对数组进行排序,默认是按照字符编码的顺序进行排序,可以自定义规则。sort方法会修改原数组。自定义规则简述:比较函数两个参数a和b,(a是b的后一个元素),返回a-b升序,返回b-a降序。letarr=[3,5,2,9,1];arr.sort();//默认升序arr.sort((a,b)=>{//......