首页 > 其他分享 >基本双指针问题

基本双指针问题

时间:2024-09-27 12:23:21浏览次数:3  
标签:基本 char arr cout int 问题 ++ size 指针

c++数据结构p2

#include <iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;


//奇偶数调整问题
//整型数组,把偶数调整到数组的左边,把奇数调整到数组的右边
void AdjustArray(int arr[], int size) {
	int* p = arr;
	int* q = arr + size - 1;
		//p->奇数
		while (p < q) {
			if ((*p & 0x1) == 0) {
				break;
			}
			p++;
		}
		
		//q<-偶数
		while (p < q) {
			if ((*q & 0x1) == 1) {
				break;
			}
			q--;
		}
		
		//p->奇数,q->偶数
		if (p < q) {
			int temp = *p;
			*p = *q;
			*q = temp;
			p++;
			q--;
		}
		
	
}
int main() {
	int arr[10] = { 0 };
	srand(time(0));
	for (int i = 0; i < 10; i++) {
		arr[i] = rand() % 100;
	}
	for (int v : arr) {
		cout << v << " ";
	}
	cout << endl;
	AdjustArray(arr, 10);
	for (int v : arr) {
		cout << v << " ";
	}
}

双指针逆序列代码

//逆序字符串
void Reverse(char arr[], int size) {//数组名会退化成指针,所以要传个数
	char* p = arr;
	char* q = arr + size - 1;
	while (p < q) {
		char ch = *p;
		*p = *q;
		*q = ch;
		p++;
		q--;
	}
}


int main() {
	char arr[] = "hello world";
	Reverse(arr, strlen(arr));
	cout << arr << endl;
	return 0;
}

标签:基本,char,arr,cout,int,问题,++,size,指针
From: https://blog.csdn.net/Bulling_/article/details/142529434

相关文章

  • 三星G8 OLED显示器S34BG850SC,使用DP线连接电脑,显示器黑屏问题解决。
    这个问题在网上好像很多人问,但是每个人的情况不同,总之我也是遇到了。事情大概:PC机显卡的DP口通过显示器自带的MiniDP线和显示器相连,这个没什么好说的了,原配只送MiniDP线,想必买这台显示器的人都是先用的这根线。然而我有一台NUC,通过雷电口也连接到了这台显示器。所以我这台G8是......
  • 虚函数,虚函数表,虚表指针,覆盖
    1、虚函数在成员函数前面加virtual后,该函数就称为虚函数,此时该类就会像虚继承一样多了一个虚表指针(虚函数表指针、虚指针)2、虚函数表虚表指针指向的是属于该类的一张表格的首地址,该表格中记录了该类的所有虚函数的首地址    如果类中没有其他成员变量    ......
  • 学习011-03-02 Base Persistent Classes(基本持久化类)
    BasePersistentClasses(基本持久化类)ThistopicdescribesthebasepersistentclassesthatcanbeusedinXAFapplicationswhencreatingadatamodelwithXPO.本主题介绍在使用XPO创建数据模型时可在XAF应用程序中使用的基本持久类。Thefollowingtablelists......
  • Spring上传文件乱码问题(问号版)
    Spring上传文件乱码问题(问号版)目录Spring上传文件乱码问题(问号版)一、问题描述:二、原因分析三、解决办法一、问题描述:spring项目上传文件,后端接收文件并获取文件名称,名称中文变成“?”,例如:??abc()??.xml,其中问号为中文字符//前端传递参数MultipartFilefile//后端获取filena......
  • Java如何解决同时出库入库订单号自动获取问题
    在Java中处理同时出库和入库的订单号自动获取问题,通常涉及到多线程环境下的并发控制。为了确保订单号的唯一性和连续性,我们可以使用多种策略,如数据库的自增ID、分布式锁、或者利用Java的并发工具类如AtomicLong等。这里,我将提供一个基于AtomicLong的简单示例,适用于单机环境。1.场......
  • 关键错误 你的开始菜单出现了问题 我们将尝试在你下一次登录时修复它。
    原文链接:https://blog.csdn.net/qq_37592750/article/details/142254684使用场景设备为Windows11系统,处理提示“关键错误你的开始菜单出现了问题我们将尝试在你下一次登录时修复它。”我这边是因为系统更新后有点问题,卸载了更新后点菜单就这样了。 网上的办法试了好几种,这......
  • 常间的css样式问题处理
    flex导致文字省略失效单独使用文字省略,按预期工作:给元素加上flex,文字省略失效:解决方案:flex和文字省略不要放到一个元素上。flex布局中,文字溢出省略不生效的问题问题展示.container{display:flex;width:400px;border:1pxsolid#000;}.content{flex:1;......
  • Java如何解决同时出库入库订单号自动获取问题
    在Java中处理同时出库和入库的订单号自动获取问题,通常涉及到多线程环境下的并发控制。为了确保订单号的唯一性和连续性,我们可以使用多种策略,如数据库的自增ID、分布式锁、或者利用Java的并发工具类如AtomicLong等。这里,我将提供一个基于AtomicLong的简单示例,适用于单机环境。1.场......
  • 解决 Sqoop 导入 Hive 时时间字段精度丢失问题
    目录一、背景介绍二、问题描述三、问题原因四、解决方案五、结论一、背景介绍介绍Sqoop数据导入过程,尤其是从MySQL导入Hive的场景。说明MySQL和Hive的数据类型差异,特别是DATETIME和TIMESTAMP类型的精度问题。二、问题描述当从MySQL导入Hive时,时间......
  • 【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题
    问题现象客户刚开始使用YashanDBodbc的时候,需要查看调用日志详情,确认相应接口调用情况。问题的风险及影响客户在windowsserver2016环境测试,影响测试业务的开展。问题影响的版本YashanDB版本:所有版本问题发生原因本案例是对操作的说明,不涉及根因解决方法及规避方式1......