国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

LeetCode | GrayCode

2019-11-14 09:24:56
字體:
供稿:網(wǎng)友

題目:產(chǎn)生格雷碼

思路:先轉(zhuǎn)成二進(jìn)制,再逐位與前一位異或,最高位不用變

代碼:以三位格雷碼為例

(練習(xí)一下struct的使用,用數(shù)組存各個struct的指針,每個格雷碼使用一個struct)

#include <stdio.h>#include <stdlib.h>#include <math.h>int bnry[10]={0};char* change(char*);// num of bits, current bit, name of int arrayint* toBinary(int, int, int*);int* toGray(int,int, int*);// name of int array, num of bitsvoid PRintIntArray(int*,int);struct earlGray { int ch[100];};int main(int argc, const char * argv[]) { // insert code here... //char ch[]="sf adfaf dffd"; //printf("%s/n",ch); int numOfBits=3; int i=0; int totalNum=8; struct earlGray* p[8]; while(i<totalNum){ p[i]=(struct earlGray*)malloc(sizeof(struct earlGray)); toBinary(numOfBits,i,p[i]->ch); // printIntArray(p[i]->ch, numOfBits); toGray(numOfBits,i,p[i]->ch); printIntArray(p[i]->ch, numOfBits); i++; } system("pause"); return 0;}char* change(char* ch){ ch[0]='0'; ch[1]='1'; return ch;}//No need to return, since it revise ch dierectly, not the copy.int* toBinary(int n,int current, int* ch ){//to binary int j,l; j=l=0; do { if(current>=0){ j=current%2; current=current/2; ch[n-1]=j; }else if (current==0) { ch[n-1]=0; } n--; } while (n!=0); return ch;}int* toGray(int n,int current, int* ch ){ while(n>1){ if (ch[n-1]==ch[n-2]) { ch[n-1]=0; }else { ch[n-1]=1; } n--; } return ch;}void printIntArray(int* ch,int n){ int k=0; while(k<n){ printf("%d",ch[k]); k++; } printf("/n");}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 民和| 珲春市| 宣汉县| 浮山县| 永仁县| 阿克陶县| 曲松县| 香格里拉县| 延吉市| 秦安县| 申扎县| 靖江市| 肃南| 扬州市| 邢台市| 湖北省| 阜康市| 隆化县| 龙岩市| 万源市| 克什克腾旗| 会理县| 珠海市| 乌什县| 苍南县| 洪雅县| 博爱县| 惠安县| 科技| 通州区| 龙里县| 巴塘县| 保德县| 宕昌县| 临泉县| 香格里拉县| 安丘市| 襄城县| 闵行区| 宝坻区| 太白县|