数据结构与算法 --- C/C++语言
HAN-YQ
这个作者很懒,什么都没留下…
展开
-
有序单链表的插入 C语言实现
C语言实现的有序单链表的插入(由小到大排列"sll_node.h"struct NODE{ struct NODE *link; int value;} Node;#include #include #include "sll_node"#define FALSE 0#defien TRUE 1int sll_in原创 2013-10-27 19:58:36 · 1305 阅读 · 0 评论 -
有序双向链表的插入 C语言实现
"dll_node.h"struct NODE{ struct NODE *fwd; struct NODE *bwd; int value;} Node;#include #include #include "dll_node.h"intdll_insert(register Node *rootp , int new_value){原创 2013-10-27 20:33:39 · 1379 阅读 · 0 评论 -
根据二叉树的后序遍历以及中序遍历还原二叉树
【题目】假设一棵二叉树的后序遍历序列为 DGJHEBIFCA ,中序遍历序列为 DBGEHJACIF ,则其前序遍历序列为 ( ) 。A. ABCDEFGHIJB. ABDEGHJCFIC. ABDEGHJFICD. ABDEGJHCFI由题,后序遍历的最后一个值为A,说明本二叉树以节点A为根节点(当然,答案中第一个节点都是A,也证明了这一点)下面给出整转载 2013-12-07 15:17:21 · 1277 阅读 · 0 评论 -
如何求解一个整数的各个位上的数字
void split(int value,int array[]) //array是用来存放给定整数value的各个位上数字的数组,数组低位存储整数的低位{ int count = 0; while( value != 0 ) { array[count] = value % 10; value /= 10; count++; } }原创 2014-03-09 22:45:07 · 1721 阅读 · 0 评论 -
基于模板的冒泡排序
templatebool Bubble( T a[], int n) //把数组a[0...n-1]中的最大元素排到最后{ bool swapped = false; for( int i = 0; i if( a[i] > a[i+1] ) { Swap( a[i], a[i+1] );原创 2014-03-09 23:31:34 · 641 阅读 · 0 评论 -
给定n个数{1,2,3,...,n},从中选择任意两两不同的k个数,输出所有可能的组合
如题,给定n为5,则这n个数为{1,2,3,4,5},给定k为2,则所有的可能组合为:{1,2}、{1,3}、{1,4}、{1,5}、{2,3}、{2,4}、{2,5}、{3,4}、{3,5}、{4,5}而且我们经常是按照这种顺序来寻找所有的可能性,那么如何按照这个逻辑编程实现呢?从上面的序列中,我们可以发现,相邻的两个数是有一定的关系的,例如以1开头的组合中,第二个数字是递增原创 2014-03-30 09:52:50 · 8604 阅读 · 1 评论