雷德算法

news/2024/11/25 13:48:29/

使用雷德算法实现倒位序:

        对于自然顺序(二进制)我们是在低位加 1 得到下一位数,对于倒位序我们是在高位加 1 向低位进位。比如已知一个倒位序数是J求其下一个倒位序数,N位总数 ,把J与N/2比较若J<N/2则J的最高位为 0 ,把最高位置 1 ,就得到了J的下一个倒位序数;若J>=N/2则说明J的最高位为1 ,把最高位置0 ,比较次高位,若次高位为0 ,则把次高位置1,得到J的下一个倒位序,若次高位为1  , 则把次高位置0,以此类推...

以N = 8 为例:

倒位数顺序                  倒位数                  十进制

    000                           000                          0

    001                           100                          4

    010                            010                         2

    011                            110                         6

    100                            001                         1

    101                            101                         5

    110                            011                         3

    111                            111                         7


使用算法实现:(当顺序位序小于到序位序要变序)

#include <iostream>
using namespace  std;int x[16] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int y[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int N = 8;int main()
{int i,j,k;int temp;for(j=0,i=0;i<N-1;i++)    //这里实现了奇偶前后分开排序{if(i<j)                        //如果i<j,即进行变址{temp = x[j];x[j]  = x[i];x[i]  = temp;}k = N/2;                 //求j的下一个倒位序while(j >= k)        //如果k<=j,表示j的最高位为1 {j = j-k;                 //把最高位变成0k = k/2;               //k/2,比较次高位,依次类推,逐个比较,直到某个位为0}j = j+k;                //把0改为}//for()for(i = 0 ; i < N ; ++ i){printf("%2d      %2d\n" , i , x[i]) ;}system("pause") ;return 0 ;
}




    


http://www.ppmy.cn/news/225552.html

相关文章

弗雷德的困惑

题目描述 弗雷德先生想在路易斯安娜州买一块地造房子。 在调查中&#xff0c;他了解到由于密西西比河的侵蚀&#xff0c;路易斯安娜州正在以每年 50 平方英里的速度变小。因为弗雷德先生希望在他的新房子里生活直至终老&#xff0c;所以他想知道他的房子是否会被侵蚀掉。 经过进…

转:管理大师曼弗雷德:不关注员工的动机需求,何谈高绩效组织?

个人理解&#xff1a;求同存异&#xff0c;超越需求本身&#xff0c;回到人性起点。 忠诚度、信任感和协作精神 领导者只有关注并迎合追随者&#xff08;不管国籍和文化背景如何&#xff09;的普遍动机需求&#xff0c;全球组织才能&#xff08;像其他任何组织一样&#xff09;…

转:曼弗雷德:组织文化是打造高绩效组织的凝结剂

个人理解&#xff1a; 组织文化构成了组织的特色和身份&#xff0c;它包含组织参与者的所有价值观、信念、态度、规范和行为。 组织成员共有的、用于应对内外部压力的信念、价值观和典型行为模式的基本假定。 组织文化与员工价值观的匹配 “组织”&#xff0c;具体表达为“组织…

转:曼弗雷德:你的不安全感,是如何摧毁掉公司的?

个人理解&#xff1a; 一流人才雇用一流人才&#xff1b;二流人才雇用三流人才。 不安全感 &#xff0c;害怕自己被超越甚至被替代的不安全感。 -- 你有那样宽广的胸怀吗&#xff1f; 用错人是摧毁一家公司的最“有效”的方式。 在进取的A类员工与稳固的B类员工之间取得一种平衡…

转:曼弗雷德:要理解内心舞台,人很容易让阴暗面主宰

个人理解&#xff1a;自我认知至关重要 对自己有所认知&#xff0c;理解自己的内心舞台&#xff0c;不能忽视内心的阴暗面 人们不是理性决策者&#xff0c;很多其他因素在起作用。大部分行为不是真正理性的。在情境之中看待事物。看人的时候&#xff0c;要看其家庭背景、文化背…

elasticsearch集群搭建错误记录

持续更新中 错误记录&#xff1a; 1&#xff1a;BindHttpException[Failed to bind to 192.168.80.129:9200]; nested: BindException[Address already in use]; Likely root cause: java.net.BindException: Address already in use。 关闭es9200端口&#xff0c;重新启动 …

Vue 限制input只输入数字 不可小数 或 只允许输入数字字母

1.Vue 限制input输入数字 不可小数 <el-input class"input-sort" onkeyup"this.value this.value.replace(/[^\d]/g,);" placeholder"请输入" v-model.trim"scope.row.amount" clearable></el-input>或<el-input cla…

vue 自定义el-table穿梭框功能

一、需求描述&#xff1a;前段时间接到一个需求是点击做一个类似穿梭框的表格点击选中功能&#xff0c;弹框的左边是全部数据展示&#xff0c;点击表格行数据可以选中自动增加到右边的已选框&#xff0c;并且可以手动删除、重置选中数据。点击确定后到展示到主页面&#xff0c;…