#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 990注意: 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 47520个C语言中常用宏定义总结 2012-09-16 10:5 ... -
lseek
2015-01-05 09:41 4071. 每个打开的文件都有一个与其相关的“文件位置”。 ... -
UC 文件系统
2014-12-30 13:16 625#include <stdio.h> #in ... -
open和fopen的区别:
2014-12-30 11:19 459open和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 504一般的来说, ... -
assert()函数用法总结
2014-10-16 09:53 581assert宏的原型定义在<assert ... -
ADT 之 列表 C
2014-09-26 17:08 0list.h #ifndef __LIST_H__ ... -
指针释放之结构体
2014-09-03 18:10 661typedef struct{ uint ... -
error strerror 函数 用法
2014-08-26 16:15 713#include <stdio.h> #in ... -
uc 获取文件大小
2014-08-26 11:51 568#include <stdio.h> # ... -
一个字节中被置 1 的位的个数
2014-08-22 11:48 589第一种unsigned int TestAsOne ... -
C语言基础十一
2014-08-21 17:32 570指针数组是由多个同类 ... -
C语言基础十
2014-08-19 16:13 982malloc函数用于从堆中分配连续多个字节,如果失败则 ...
相关推荐
- **建立双向链表L,含n个结点且按整数值递增排列**:构建一个按照整数值递增顺序排列的双向链表。 - **删除双向链表中多余的值相同的元素**:去除链表中重复的元素。 - **求出链表的长度**:计算链表中节点的数量。...
- **排序**:支持对指定课程的成绩进行升序或降序排列。 - **信息检索**:新增功能,可以快速定位到特定学生的信息。 - **界面设计**:采用简单的菜单式界面,用户可以通过输入数字选择所需的操作。 - **编码...
例如,排序算法接收一个数字序列作为输入,并返回一个按非降序排列的输出序列。算法必须具备可行性、确定性、有穷性,同时包括输入和输出两个要素。正确设计和分析算法是提高程序性能的关键。 数据结构是数据的组织...
- **冒泡排序**:给出的代码实现了对数组中的元素按降序排列的功能,使用了冒泡排序算法。需要注意的是,数组中的第一个元素没有参与排序,因此最终输出的结果中第一个元素的位置不变。 ### 9. 继承性与成员数量的...
在这里,可以选择最简单的冒泡排序,通过两层循环,不断交换相邻的元素以达到降序排列。 3. 波那其数列(斐波那契数列)问题:波那其数列是每个数等于前两个数之和。要求第十项,可以直接计算,也可以用递归。递归...
39. 排序可以按照升序(升序排列数据)或降序(降序排列数据)进行。 40. E-R模型(实体-关系模型)是一种概念数据模型,用于描述数据库的实体、关系和属性。 41. Access数据库文件的扩展名为.mdb,表示Microsoft ...
所以,正确查询类型为"食品"的商品信息并按类型降序排列的SQL语句是SELECT * FROM 商品 WHERE 类型="食品" ORDER BY 类型 DESC。 12. **构造函数** - 构造函数是类的一个特殊成员函数,用于初始化新创建的对象,其...
你可以将它视为双向链表,支持在两端添加或删除元素。`LPUSH key value`在列表头部添加元素,`RPUSH key value`在尾部添加,`LPOP key`和`RPOP key`分别从头部和尾部取出元素。 4. 集合(Sets):集合对象存储不...
1. **问题描述**:完成程序,使给定数组按降序排列。 2. **解决方案**:此题可采用简单的冒泡排序算法实现,通过两层循环比较相邻元素的大小,进行交换操作以达到降序排序的目的。 3. **示例代码**: ```c #...
- **解析**:使用了冒泡排序算法进行数组的降序排列。通过两层循环比较相邻元素的大小,如果前一个元素小于后一个元素,则交换它们的位置。 **知识点3:斐波那契数列计算** - **题目要求**:编写程序求斐波那契...
- 将有向无环图中的顶点按某种顺序排列。 - 满足每条有向边的起点都在其终点之前。 - **关键路径** - 在工程网络图中,最长的路径称为关键路径。 - 关键路径决定了整个项目的最短完成时间。 #### 八、查找 **...
- **降序排序**:理解如何通过修改比较逻辑实现降序排列。 **示例代码**: ```c #include void sort(int array[], int n) { int i, j, temp; for (i = 0; i ; i++) { for (j = 0; j ; j++) { if (array[j] [j...
- **双向链表:** 双向链表除了包含指向下一个节点的引用外,还包含一个指向前一个节点的引用,这使得双向链表在进行插入和删除操作时更加灵活高效。 - **线性表的单链表实现:** 实现线性表的单链表结构需要定义...
实例199 创建双向链表 284 实例200 创建循环链表 287 实例201 使用头插入法建立单链表 289 实例202 双链表逆序输出 291 实例203 约瑟夫环 293 实例204 创建顺序表并插入元素 294 实例205 合并两个链表 296 实例206 ...
n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数,其中,M表示精度,代表数字的总位数;N表示小数点右边数字的位数 日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月...