#include <stdio.h> #include <malloc.h> 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; }
发表评论
-
使用execvp 来调用程序传参
2015-07-08 14:52 958注意: execvp 函数会根据环境变量来查找程序 ... -
mail
2015-06-08 18:36 0<?php /** * 邮件发送 ... -
学生管理系统
2015-04-22 11:23 0#include <stdio.h> #in ... -
20个C语言中常用宏定义总结
2015-03-02 10:41 44520个C语言中常用宏定义总结 2012-09-16 10:5 ... -
lseek
2015-01-05 09:41 3781. 每个打开的文件都有一个与其相关的“文件位置”。 ... -
UC 文件系统
2014-12-30 13:16 582#include <stdio.h> #in ... -
open和fopen的区别:
2014-12-30 11:19 418open和fopen的区别: 1.缓冲文件系统 缓 ... -
c自己写的一些常用的函数
2014-12-26 15:56 0size_t mystrlen(const cha ... -
Socket
2014-12-01 16:31 0一、Socket简介 Socket ... -
检查姓名的几种方法
2014-11-10 11:06 0int CheckXm(char *str){ ... -
任意语言访问PostgreSQL:C语言接口
2014-11-10 10:17 0任意语言访问PostgreSQL:C语言接口 来源: ... -
函数返回局部变量
2014-10-21 17:54 457一般的来说, ... -
assert()函数用法总结
2014-10-16 09:53 520assert宏的原型定义在<assert ... -
ADT 之 列表 C
2014-09-26 17:08 0list.h #ifndef __LIST_H__ ... -
指针释放之结构体
2014-09-03 18:10 623typedef struct{ uint ... -
error strerror 函数 用法
2014-08-26 16:15 670#include <stdio.h> #in ... -
uc 获取文件大小
2014-08-26 11:51 500#include <stdio.h> # ... -
一个字节中被置 1 的位的个数
2014-08-22 11:48 550第一种unsigned int TestAsOne ... -
C语言基础十一
2014-08-21 17:32 510指针数组是由多个同类 ... -
C语言基础十
2014-08-19 16:13 947malloc函数用于从堆中分配连续多个字节,如果失败则 ...
相关推荐
http://msdn.microsoft.com/en-us/library/95z04bas(v=VS.71).aspx 双向链表
双向链表
建立一个长度为n的带头结点的双向链表,使得该链表中的数据元素递增有序排列。(必须使用双向链表完成,数据类型为整型。) Input 第一行:双向表的长度; 第二行:链表中的数据元素。 Output 输出双向链表中...
详细的介绍了Linux内核中使用的最频繁的双向链表
双向链表类定义及测试文件 对应于数据机构与算法分析(c++版)第三版或第二版 Clifford A.Shaffer 重庆大学使用教材
定义、实现并测试一个双向链表结点类DNode。 链表结点类中包含私有数据成员为两个整数x,y以及左结点指针left及右结点指针right。 包含的函数成员包括: (a)对结点的数据成员赋值setDNodeValues(int,int,DNode* ...
一种支持类模版和函数模版的C++双向链表,实现了各种排序算法(排序原则可定制),包含学生信息的使用示例(VC 6.0、VS2008).
实现双向链表的增删改查功能,dos窗口输入输出,可运行,有注释
通过建立双向链表,来实现双向查找,增加和删除的功能
操作系统c++编程实现安全型双向链表,线程的创建,利用线程对链表进行增删改操作,并检验结果是否正确
1. 编写使用freelist 的带头、尾结点的双向链表类的定义,实现双向... 利用双向链表实现2个一元多项式的加法和乘法运算,运算结果得到的链表要求按照指数降序排列的多项式。 3. 最后提交完整的实验报告和源程序。
原创手操,操作系统课设,线程安全的双向链表,VC6.0,无须配置,可运行
用双向链表实现大数阶乘 输入一个不限制大小的数 即可计算出它的阶乘
基础数据结构双向链表的C++描述版。实现了双向链表的基本功能。包括拷贝构造函数和IO操作符重载、赋值操作符重载
包含了双向链表的结点结构体、表头结构体、创建双向链表、销毁双向链表、获取链表长度、清空双向链表、插入一个节点元素(包含异常分析)、按位置删除链表结点(包含异常分析)、按元素删除链表结点、返回一个结点...
双向链表\qdlist.h 双向链表\stdafx.cpp 双向链表\stdafx.h 双向链表\双向链表.cpp 双向链表\双向链表.ncb 双向链表\双向链表.dsw 双向链表\双向链表.dsp 双向链表\双向链表.opt
排序插入,更具数据查找结点及修改结点数据等功能,链表根据姓名排序 根据姓名查找记录时支持通配符*和?,即*通配任意字符和字符串,?通配一个字符,字符不分大小。 将工资管理以文件的形式存在磁盘上,每次操作时...
二叉树转换为双向链表 通过随机创建二叉排序树测试二叉树转换为双向链表是否正确 http://blog.csdn.net/ssuchange/article/details/17383625
Python双向链表
双向链表 - 数据结构与算法 C 双向链表 - 数据结构与算法 C 。。。。。。