使用Java代码将一个int型数组中的所有负数放在正数之前
时间: 2024-04-08 08:35:05 浏览: 82
你可以使用两个指针来实现将负数放在正数之前的操作。一个指针从数组的开头向后移动,另一个指针从数组的末尾向前移动。当两个指针相遇时,所有的负数都已经被放在了正数之前。
以下是使用Java代码实现这个操作的示例:
```java
public class Main {
public static void main(String[] args) {
int[] nums = {-1, 2, -3, 4, -5, 6};
moveNegativesToFront(nums);
for (int num : nums) {
System.out.print(num + " ");
}
}
public static void moveNegativesToFront(int[] nums) {
int left = 0; // 左指针
int right = nums.length - 1; // 右指针
while (left < right) {
// 左指针找到第一个正数位置
while (nums[left] < 0 && left < right) {
left++;
}
// 右指针找到第一个负数位置
while (nums[right] >= 0 && left < right) {
right--;
}
// 交换负数和正数位置
if (left < right) {
int temp = nums[left];
nums[left] = nums[right];
nums[right] = temp;
}
}
}
}
```
运行以上代码,输出结果为:-1 -3 -5 4 2 6
阅读全文