zoukankan      html  css  js  c++  java
  • 不借助多余参数也可交换两个参数(c++,swap函数)

    借助a^a=0异或属性

    【示例代码1——swap函数调用】

    #include<stdio.h>
    void swap(int &a,int &b){
    	a = a ^ b;
    	b = a ^ b;
    	a = a ^ b;
    }
    int main(){
    	int a = 1;
    	int b = 2;
    	swap(a, b);
    	printf("a,b=%d,%d",a,b);
    	return 0;
    } 
    

    【运行结果】

    【示例代码2——冒泡排序】

    #include<bits/stdc++.h>
    int main()
    {
    	int arr[10] = {1, 33, 45, 5, 40, 67, 37, 51, 70, 12};
    	int i, j;
    	for(i=0; i<10; i++){
    		for(j=i+1; j<10; j++){
    			if(arr[i] > arr[j]){
    				arr[i] = arr[i] ^ arr[j];
    				arr[j] = arr[i] ^ arr[j];
    				arr[i] = arr[i] ^ arr[j];
    			}
    		}
    	}
    	for(i = 0;i < 10; i++){
    		printf(" %d",arr[i]);
    	}
    	printf("
    ");
    	return 0;	
    }
    

    【小栗子】

    常可以做一个简单的加密工具!

    1)文件A

    2)卖家使用密钥加密文件A: A^X

    3)买家收到加密文件A^X与密钥X

    4)买家解密文件A: A^X ^X=A

  • 相关阅读:
    div弹出层
    经典SQL语句
    sql连接及操作
    给flash加上连接
    在c#中图片原比例缩放
    悬浮提示筐
    拖动板块
    IFrame自适应高度
    SQL语句中的日期计算
    注意Request.Cookies["UserID"]的用法
  • 原文地址:https://www.cnblogs.com/lastk/p/12766520.html
Copyright © 2011-2022 走看看