順序儲存和連結儲存的相互轉化

來源:互聯網
上載者:User

順序儲存轉化為連結儲存:

BTreeNode *create(char* str, int pose, int size) //下標從0開始{ char ch; BTreeNode * t;char* p=str;ch = p[pose];if(ch=='#'|| pose>=size) return NULL; // 表示空結點else { t=(BTreeNode *)malloc(sizeof(BTreeNode)); //非空則構造新結點t->data=ch; //新結點資料域即為讀入字元t->lchild=create(p, 2*pose+1,size); //建立左子樹t->rchild=create(p, 2*pose+2,size); //建立右子樹}return(t);} 

 連結儲存轉化為順序儲存:

 

char a[200];//順序儲存數組int flag;//判斷是否是空樹BiNode* Creat(BiNode *bt,int k){char ch;cin>>ch;if(ch=='#'){bt=NULL;}else{flag=1;bt=new BiNode;bt->data=ch;a[k]=ch;bt->lchild=Creat(bt->lchild,(k)*2);bt->rchild=Creat(bt->rchild,(k)*2+1);}return bt;}

初始化為Creat(root,1);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.