中序遍歷的非遞歸版本

  今天在圖書館掐指一算,發現來不及了,已經第十五週了,發現還有兩門功課沒開始複習,再想想java大型實驗還有點掃尾工作沒做好,更加讓我心情難以平復的是數據結構大型實驗還沒有動過!!頓時我身上的每一個細胞都顫抖了一下,發出一聲:"holy shit ! "

   這星期還得考六級,一想就傷心啊!

   不知道這段時間還能能不能更新博客了,時間******

    先上今天的主題吧,今天的主題是《中序遍歷的非遞歸版本》  

   這個題是我們教科書上沒有講過而是當做課後習題的一題,p616#26,也是上次的學院裏的數據結構筆試中的最後一題,今天就送上這段代碼

   這道題關鍵的就是用指針棧實現 非遞歸,廢話不多說,直接上代碼

void inOrder(treeNode *root)
{
	stack<treeNode* >tempstack;
	treeNode *temp=root;
	int num = 0;
	while(temp != NULL || num != 0)
	{
		while (temp != NULL)
		{
			tempstack.push(temp);
			num++;
			temp=temp->left ;
		}
		temp=tempstack.top();
		tempstack.pop();
		num--;
		cout<<temp->value<<" ";
		temp=temp->right ;
	}
}

   今天不吐槽了,哎.有時是要多做做題啊,加油,期末!

   完

的新浪微博是@酥西黃

我的郵箱是[email protected]


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章