数组元素位置调换——改变算法后

该篇博客介绍了一个Java程序,用于实现二维数组中最大值元素与左上角元素,最小值元素与右下角元素的对调。程序通过遍历数组找到最大和最小值,然后进行位置交换,展示了一种具体的算法实现过程。
/* (程序头部注释开始) </p><p>* 程序的版权和版本声明部分 
* Copyright (c) 2011, 烟台大学计算机学院学生                              
* 作    者:   李兆庆                         
* 完成日期:   2012      年   9    月    18   日 
* 输入描述:   
* 问题描述及输出:  编写一个Java应用程序,
* 实现功能:将二维数组中值最大的元素和左上角元素对调,然后将值最小的元素与右下角元素对调。例如:
1 4 5 6
7 2 10 11
9 8 12 3,对调后结果
12 4 5 6
7 2 10 11
9 8 3 1 
* 程序头部的注释结束 
*/


public class Num{

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
     	int[][] a = { { 1, 4, 5, 6 }, { 7, 2, 10, 11 }, { 8, 9, 12, 3 } };
     	
    	System.out.println("对调前输出数组为:");
    	
		printMatrix(a);               //按二维方式输出数组
		
		System.out.println("对调后输出数组为:");
		
		printNewMatrix(a);           //对调后输出数组
		
		printMatrix(a);               //按二维方式输出数组

	}
	
	//按二维方式输出数组
	
	static void printMatrix(int[][] a){
		
		for (int i = 0; i < a.length; i++){
			
			for (int j = 0; j < a[i].length; j++){
				
				System.out.print(a[i][j]+"   ");
				
			}
			
			System.o
### 关于 `swp()` 函数与数组操作 在编程领域内,`swp()` 并不是一个标准函数名称用于表示特定功能,尤其是在涉及数组操作方面。然而,在某些上下文中,“swap” 或者缩写的 `swp` 可能指代交换两个变量或数组元素的操作。 对于数组中的元素交换,通常会编写自定义函数来实现这一目的。下面是一个 Python 中实现的简单例子: ```python def swp(arr, index1, index2): """Swap elements at given indices within an array.""" arr[index1], arr[index2] = arr[index2], arr[index1] # 使用示例 example_array = [1, 2, 3, 4, 5] print(f"原始数组: {example_array}") swp(example_array, 1, 3) # 交换索引位置1和3处的元素 print(f"修改后的数组: {example_array}") # 输出应展示被交换过的位置 ``` 此代码片段展示了如何通过名为 `swp` 的函数来互换列表中任意两处的数据项[^1]。 值得注意的是,在不同编程语言里可能会有不同的语法糖或是内置方法来进行类似的元素交换工作;上述只是通用概念的一个具体实例化表达方式之一。 #### C++ STL 库中的 swap 方法 C++ 提供了一个更高级别的工具集——STL(Standard Template Library),它包含了可以直接使用的容器类以及算法模板。其中包括了可以用来快速交换两个对象的标准库函数 `std::swap` 和容器成员函数 `.swap()`: ```cpp #include <iostream> #include <vector> int main () { std::vector<int> vec1 = {1, 2}; std::vector<int> vec2 = {3, 4}; // 打印交换前的内容 std::cout << "Before swapping:\n"; for(auto i : vec1) std::cout << i << ' '; std::cout << "\n"; for(auto j : vec2) std::cout << j << ' '; std::cout << "\n\n"; // 交换向量内容 vec1.swap(vec2); // 打印交换后的内容 std::cout << "After swapping:\n"; for(auto k : vec1) std::cout << k << ' '; std::cout << "\n"; for(auto l : vec2) std::cout << l << ' '; return 0; } ``` 这段程序利用了 C++ 标准库提供的高效机制完成整个数据结构之间的替换而不仅仅是单个元素间的调换[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值