移动到末尾(蓝桥杯)

复制代码
#include <stdio.h>
#include <stdlib.h>

#define N 1000   //双指针思想
int main(int argc, char *argv[])
{
  int n;
  int s[N];
  scanf("%d",&n);
  for(int i = 0 ; i < n ; i++)
    scanf("%d",&s[i]);
  int j = 0;              
  for(int i = 0 ; i < n ; i++) 
  {
     if(s[i] != 0 )    
      {
        int t = s[j];
          s[j++] = s[i];
          s[i] = t;
      }
  }
  for(int i = 0 ; i < n ; i++)
   printf("%d ",s[i]);
  return 0;
}
相关推荐
逆境不可逃9 小时前
【LeetCode 912】排序数组——随机化快速排序详解
数据结构·算法·排序算法
Coder-magician9 小时前
《代码随想录》刷题打卡day31:动态规划-背包问题part02
算法·动态规划
薛定e的猫咪9 小时前
从因果视角解决多智能体协作:细读 SCIC 算法
算法
c238569 小时前
《算法武林谱:四大排序神功与二分寻宝术全解》
数据结构·算法·排序算法
一米阳光86619 小时前
软考(中级)软件设计师核心笔记(9)算法——时间复杂度与空间复杂度、查找算法、排序算法
笔记·算法·职场发展·软考·软件设计师·中级职称
Mem0rin10 小时前
二分查找:左右边界
数据结构·算法
大明者省19 小时前
WSL2 Ubuntu22.04 GPU训练环境配置指南
人工智能·算法·计算机视觉
白狐_79821 小时前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander25821 小时前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法
Shell运维手记1 天前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github