ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码

双向链表 数字按降序排列

来源:网络整理     时间:2015-03-07     关键词:

本篇文章主要介绍了"双向链表 数字按降序排列",主要涉及到方面的内容,对于C/C++jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下: #include #include typedef struct Tag_Node{struct ...

#include 
#include 

typedef struct Tag_Node{
	struct Tag_Node *left;
	struct Tag_Node *right;
	int value;
}TNode;

TNode *root = NULL;

void append(int value){
	TNode *NewNode = (TNode *) malloc(sizeof(TNode));
	NewNode -> value = value;
	NewNode -> left = NULL;
	NewNode -> right = NULL;

	if (NULL == root){
		root = NewNode;
		return;
	}
	else{
		TNode *temp = root;

		while((value >= temp -> value && temp -> left != NULL) || (value < temp -> value && temp -> right != NULL)){
			while(value >= temp ->value && temp -> left!= NULL){
				temp = temp -> left;
			}
			while (value < temp -> value && temp -> right != NULL )
				temp = temp -> right;
		}

		if (value >= temp -> value){
			temp -> left = NewNode;
			NewNode -> right = temp;
		}else{
			temp -> right = NewNode;
			NewNode -> left = temp;
		}
		return ;
	}

}

void print(){
	TNode *sidenode = root;

	if (NULL == root){
		printf("there is no value!\n");
		return ;
	}

	if (root -> left != NULL){
		sidenode = root -> left;
	}else{
		sidenode = root;
	}

	while(1){
		if (sidenode -> left == NULL)
			break;
		sidenode = sidenode -> left;
	}

	while(sidenode != NULL){
		printf("%d ", sidenode -> value);
		sidenode = sidenode -> right;
	}
	printf("\n");

	return ;
}

int main(){
	append(43);
	append(34);
	append(17);
	print();
	return 0;
}

以上就介绍了双向链表 数字按降序排列,包括了方面的内容,希望对C/C++jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_116640.html

相关图片

相关文章