用二叉树实现家谱运算

栏目:资讯发布:2023-10-01浏览:1收藏

用二叉树实现家谱运算,第1张

C++语言: 二叉树实现的简单家谱树

/

File Name: BiTreecpp

Author: Geng Lequn[glq2000@126com]

Thur July 1 2010

Discription: 建立二叉家谱树,实现输入任意两个人的名字,查找得到其关系

/

#include <iostream>

#include <string>

#include <cstring>

#include <cstdlib>

#include <vector>

#include <mathh>

using namespace std;

typedef struct _Node

{

string sex; //性别 m 男; f 女

string name; //此人的姓名

string spause; //配偶的姓名

unsigned short level; //层次 辈分最高一层为1,下一层为为2,以此类推

struct _Node l_child; //指向其第一个孩子的指针

struct _Node r_brother; //指向其某一个兄弟姐妹的指针, 即左孩子为其后代,右孩子为其兄弟姐妹

struct _Node btr; //指向其父亲或者母亲的指针

_Node():level(0),l_child(NULL),r_brother(NULL),btr(NULL){cout<<"constructor"<<endl;}

~_Node(){cout<<name<<" destructor"<<endl;}

}Node, PNode;

void CreateBiTreePreOrder(PNode &pn, PNode pback, unsigned short depth);//建立二叉家谱树,以先序方式

void VisitBiTreePreOrder(PNode root); //前序遍历此二叉树

void TellRelation(PNode root); //判断两人关系

void DestroyBiTreePostOrder(PNode root); //销毁二叉树,释放节点占用的空间

void FindPersonMiddleOrder(PNode root, string name, PNode &presult); //返回家谱中指向某人的指针,找不到返回NULL

Node root=NULL; //全局变量,二叉树的根节点

unsigned findPersonFlag = 0; //标志位,0 没找到; 1 找到,找到后就不再搜索直接返回;利用此flag可避免将整个tree遍历一遍(若该name在tree中存在的话)

int main()

{

cout<<"请按先序遍历的顺序根据提示输入家谱信息,不存在则输入\"#\""<<endl;

CreateBiTreePreOrder(root, NULL, 1);//建立二叉家谱树,以先序方式

VisitBiTreePreOrder(root); //前序遍历此二叉树

TellRelation(root); //判断两人关系

DestroyBiTreePostOrder(root); //销毁二叉树

getchar();getchar();getchar();

return 0;

}

/

function:建立二叉家谱树,以先序方式

argument:

pn: 指向二叉树节点的引用

pback: pn这个节点的btr指针的值,即指向其parent的指针

depth: 该节点的层次,分最高一层为1,下一层为为2,以此类推

/

void CreateBiTreePreOrder(PNode &pn, PNode pback, unsigned short depth)

{

string str;

cin>>str; //输入该人信息,格式是 sex-name-spausename,如不存在则输入#

if(str == "#") //如: M-tom-marry, 表示此人叫tom, 男性, 配偶名字marry

{

pn = NULL;

return;

}

//如果是自定义的struct/class,应该使用构造函数。如果是内建数据类型,

//比如int,应该memset。 当然,更好的建议是使用vector取代new出来的数组

pn = new Node;

//处理输入的字符串

vector<string> v;

for(size_t b=0, e=strfind('-'); ; e=strfind('-', b))

{

if(e == string::npos)

{

vpush_back(strsubstr(b));

break;

}

else

vpush_back(strsubstr(b, e-b));

b = e+1;

}

//初始化该节点

pn->sex = v[0];

pn->name = v[1];

pn->spause = v[2];

pn->btr = pback;

pn->level = depth;

//递归建立左右子树的节点

CreateBiTreePreOrder(pn->l_child, pn, depth+1); //注意后两个参数的值

CreateBiTreePreOrder(pn->r_brother, pback, depth); //注意后两个参数的值

}

/

function: 前序遍历此二叉树

/

void VisitBiTreePreOrder(PNode pn)

{

if(!pn)

return;

cout<<endl<<"sex:"<<pn->sex<<endl;

cout<<"name:"<<pn->name<<endl;

cout<<"spause:"<<pn->spause<<endl;

cout<<"level:"<<pn->level<<endl;

cout<<"father's name:"<<((pn->btr == NULL)"NULL":pn->btr->name)<<endl;

cout<<"======================"<<endl;

VisitBiTreePreOrder(pn->l_child);

VisitBiTreePreOrder(pn->r_brother);

}

/

function: 中序遍历找到家谱中的一个人,返回其指针,若找不到,返回NULL

isSpause 1表示是找到的节点的配偶 0表示不是所找到的节点的配偶

/

void FindPersonMiddleOrder(PNode pn, string name, PNode &presult)

{

if(!pn)

return;

FindPersonMiddleOrder(pn->l_child, name, presult);

if(findPersonFlag) return;

if(name == pn->name || name == pn->spause)

{

presult = pn;

findPersonFlag = 1; //全局标志位,0 没找到; 1 找到,找到后就不再搜索直接返回;利用此全局flag可避免将整个tree遍历一遍(若该name在tree中存在的话)

return; //下次使用前不要忘记置为0

}

FindPersonMiddleOrder(pn->r_brother, name, presult);

}

/

function: 判断两人关系,若两人中至少一人不在树中,则两人无关系

若两人在树中,先判断两人是否同层次,若同层,判断是否是亲兄弟姐妹;

若不同层,设辈分大的人为A,辈分小的人为B,判断A和B是亲的还是表的,

比如,A为男性,且比B大一倍,判断A是否为B的爸爸,或亲叔叔(舅舅),或表叔叔(舅舅)

简单起见,此处没有区分是叔叔还是舅舅

比如,A为男性,且比B大两倍,判断A是否为B的亲爷爷(姥爷),或亲爷爷(姥爷)的亲兄弟

,或亲爷爷(姥爷)的表兄弟

简单起见,此处没有区分是叔叔和舅舅等做进一步区分

简单起见,查询时只输入节点中的name,不查询spause,否则处理起来太麻烦

/

void TellRelation(PNode pn)

{

string name1, name2;

//p1指向name1, p2指向name2, pbig指向辈分大的,psmall指向辈分小的

PNode p1 = NULL, p2 = NULL, pbig = NULL, psmall = NULL;

int differ = 0; //两人辈分数的差别

string title;

Label:

cout<<endl<<"输入想查询关系的两个人的名字,不想查则将两人名字输成#:"<<endl;

while(cin>>name1 && cin>>name2)

{

if(name1=="#" && name2=="#") return;

p1 = NULL; p2 = NULL; //因为程序是循环执行的,需要将上次遗留的值清掉

findPersonFlag = 0;

FindPersonMiddleOrder(root, name1, p1);

findPersonFlag = 0;

FindPersonMiddleOrder(root, name2, p2);

if(!p1 || !p2) //若有一个为空或都为空,说明至少有一个人不在家谱中,故两人无亲缘关系

{

cout<<name1<<((!p1)" 不在":" 在")<<" 家谱树中"<<endl;

cout<<name2<<((!p2)" 不在":" 在")<<" 家谱树中"<<endl;

cout<<name1<<" 和 "<<name2<<" 间没有关系"<<endl<<endl;

goto Label;

}

differ = (int)abs(p1->level - p2->level);

if(!differ) //辈分一样大

{

if(p1->sex == p2->sex)

{

if(p1->sex == "M") title = "兄弟关系";

else title = "姐妹关系";

}

else title = "兄妹(姐弟)关系";

if(p1->btr == p2->btr) //parent相同

cout<<name1<<" 和 "<<name2<<" 间是 "<<" 亲 "<<title<<endl;

else

cout<<name1<<" 和 "<<name2<<" 间是 "<<" 表 "<<title<<endl;

}

else //辈分不一样大

{

if(p1->level < p2->level) {pbig = p1; psmall = p2;}

else {pbig = p2; psmall = p1;}

switch(differ)

{

case 1:

if(psmall->btr == pbig)

title = ((pbig->sex == "M")"爸爸":"妈妈");

else

{

if(psmall->btr->btr == pbig->btr)

title = ((pbig->sex == "M")"亲叔(舅)":"亲姑(姨)");

else

title = ((pbig->sex == "M")"表叔(舅)":"表姑(姨)");

}

break;

case 2:

if(psmall->btr->btr == pbig)

title = ((pbig->sex == "M")"爷爷(姥爷)":"奶奶(姥姥)");

else

{

string tmp = ((pbig->sex == "M")"兄弟":"姐妹");

if(psmall->btr->btr->btr == pbig->btr)

title = ((psmall->btr->btr->sex == "M")"爷爷(姥爷)的亲":"奶奶(姥姥)的亲") + tmp;

else

title = ((psmall->btr->btr->sex == "M")"爷爷(姥爷)的表":"奶奶(姥姥)的表") + tmp;

}

break;

default:

string tmp2;

PNode pt = psmall;

int n = differ-2; //计算"老"字 (即grand这个字) 出现的个数

for(int i=0; i<n; ++i)

tmp2 += "老";

for(int i=0; i<differ; ++i)

pt = pt->btr;

if(pt == pbig)

title = tmp2 + ((pbig->sex == "M")"爷爷(姥爷)":"奶奶(姥姥)");

else

{

string tmp3 = ((pbig->sex == "M")"兄弟":"姐妹");

if(pt->btr == pbig->btr)

{title = tmp2 + ((pt->sex == "M")"爷爷(姥爷)的亲":"奶奶(姥姥)的亲"); title+=tmp3;}

else

{title = tmp2 + ((pt->sex == "M")"爷爷(姥爷)的表":"奶奶(姥姥)的表"); title+=tmp3;}

}

break;

}

cout<<pbig->name<<" 是 "<<psmall->name<<" 的 "<<title<<endl;

}

goto Label;

}

}

/

function: 后序遍历销毁此二叉树,释放节点占用的内存空间

/

void DestroyBiTreePostOrder(PNode pn)

{

if(!pn) return;

DestroyBiTreePostOrder(pn->l_child);

DestroyBiTreePostOrder(pn->r_brother);

delete pn;

}

中华徐氏宗亲字辈排列

(排列不分先后)

1、浙江义乌市倍磊徐氏一支家谱字派9 P%

贤、良、雕(音)、逢、景、运、兴、献、文、章。

2、浙江省金华市浦江县白马镇清塘村徐氏一支家谱字派

如、继、元、善、家、国。

3、浙江鄞县茅山走马塘徐氏一支家谱字派 ! Q2 r9 A5 N; P8 a# w

开、天、文、荣,祖、烈、愈、隆,贤、宗、跃、人。

4、江西上饶徐氏一支家谱字派

旨、方、温、润,光、大、正、辉,文、行、忠、信,礼、义、贤、良,恭、庆、嘉、祥,恒、丰、履、泰,豫、顺、谦、和,孝、友、树、帮,学、道、同、芳,长、绍、万、世,炳、承、家、有,源、远、永、思,崇、祖、继、宗,培、元、植、德,天、锡、其、美,善、寿、汝、康。

5、江苏江都徐氏一支家谱字派

恩、锡、万、福、世、寿、方、桂。

6、湖北汉阳徐氏一支家谱字派 7 A1 g0 P4 }( a4 c) `

永、国、良、振,必、育、英、华,荣、昌、祖、顺,志、礼、益、芳,诗、书、佩、泽,锡、福、增、强,遵、仁、安、义,事、业、维、长。 i& y4 `: G! W$ R9 X2 j,

7、山东省陵县陈辇庄徐氏一支家谱字派 ( }1 K$ x2 j+ b" p: _& [& _ e! `

德、文、兴、相、世、少、传、卿。

8、汉阳徐氏一支家谱字派

克、永、光、明,荣、华、迪、吉,和、平、治、世,忠、厚、传、家。

9、重庆永川徐氏一支家谱字派 2 W p# c# C( j X% @

天、星、经、纶,人、利、礼、至,文、章、报、国,私(或诗、思)、书、传、家,永、远、少、树,世、代、光、华。

10、山东省莘县张寨乡土陈村徐氏一支家谱字派

王、广、西、兴、玉,计、风、连、清、怀,韶、生、时、恒、良,道、远、在、明、德。 09 11、江苏盐城郊区伍佑镇徐氏一支家谱字派 0 V8 B" A1 X+ D/ N/ { S7 K

采、如、锦、宏、国

12、四川省永川县徐氏一支家谱字派

天、星、经、纶,人、利、茂、知,文、章、报、国,私、书、传、家,永、远、绍、树,世、代、光、华。 1 t1 I f, o4 R3 a! B& c

13、海南省琼海市徐氏一支家谱字派

运、会、永、绍、辉。

14、江西省吉安府泰和县龙子口徐氏一支家谱字派 + q2 w M" P" s3 p

秉、懋、邦、家、善、庆、长,翼、为、明、听、焕、文、章。虞、夏、殷、周、汉、唐、宋,六、经、世、受、绍、其、芳。从、来、作、述、敦、仁、礼,万、代、声、名、启、俊、良。志、据、依、游、克、念、力,丕、承、祖、德、永、光、扬。 3 O G% R: K; V7 x: 15、湖北黄州府麻城县孝感乡落叶沙子场郭家狮子岩几子湾徐氏一支家谱字派

国、正、碧、加、大、元、庭、永、远、兴、文、天、耀、祖、德、官、清、民、自、安。

16、江苏东海徐氏一支家谱字派 6 N O/ M) H0 \% h& k! b4 v! i

增、景、方、贵、秀、步、兴。

17、湖北省竹山县东川徐氏一支家谱字派

之、元、国、治、兴、隆、长,祖、德、宗、功、世、代、扬,尊、守、延、绵、恢、先、绪,诗、书、彦、秀、起、贤、良。 - c3 W; t$ k0 e

18、福建省石狮市永宁镇港边村徐氏一支家谱字派

仁、义、长、发、祥、忠、和、永、垂、芳。 + z/ }2 F/ n% z) p2 h7 S0 p

19、河南郑州徐氏一支家谱字派

宗、邦、万、选、天。

20、徐州北郊徐氏一支家谱字派

龙、兴、忠、厚、传、家、远、诗、书、继、世、长。 6 Z, k- c9 [; _& C& o+ T8 M

21、四川达州市徐氏一支家谱字派 U; _ `/ E9 j

先、维、加、大、启,正、应、于、朝、学,其、昌、永、曰、继,思、尚、信、义、卓,家、长、宗、可、传,荣、锡、用、安、乐,富、贵、万、年、兴,甲、弟、连、登、科。

22、四川广安岳池玉皇庙徐氏一支家谱字派

一、启、思、良、上,尧、舜、禹、汤、周,文、武、忠、天、世,万、代、显、鸿,猷。

23、湖北省石首市徐氏一支家谱字派 , x3 s& G+ n( {; T4 Z

世、宗、有、大、训,孝、义、惟、先,永、正、一、家、典、则。

24、湖南长沙徐氏一支家谱字派 ) G e) [: i t) u+ y9 z

仲、思、旺、兴、国,善、德、嘉、立,朝。学、开、文、仕、启,永、远、定、祥、曜。

25、湖南绥宁徐氏一支家谱字派 e/ [4 X! $ p

远、历、代、善、名、扬。 6 `! s- ]' j b0 I8 _4 o) M; G

26、陕西汉中徐氏一支家谱字派 3 g9 S' k- X" E+ w( @3 G

春、启、文、明、正、乾、坤。 ' ], W# r, w7 |) h# S7 N4 e

27、湖北孝感市徐氏一支家谱字派

永、崇、亭、尚、立,天、述、四、登、齐。文、学、开、创、景,中、云、自、定、基。

28、柳州融安徐氏一支家谱字派

以、兴、光、登、文,世、国、良、相、正,君、德、岳、山、重,贻、谋、燕、翼、长,培、植、基、业、永,克、昌、后、裔、祥。 ! v+ V, |6 P" V$ f

29、四川徐氏一支家谱字派

春、先、思、龙、来,明、道、西、光、富。

30、河南省濮阳市孟轲乡徐氏一支家谱字派 # d+ U e2 D: B

贵、鸣、冠、书、林,建、广、瑞、祥、云,文、豪、佐、志、仕,英、武、正、乾、坤。 ) 31、山东潍坊诸城徐氏一支家谱字派

世、玉、德、磬、景,文、明、会、家、安;仁(云)、海、永、昌、泰,忠、燕、光、聚、远。 ; 0 b+ l" z! S8 R! R9 _

32、湖南省衡州府衡阳县金兰乡徐氏一支家谱字派

公、良、明、有、道、定、国、显、朝、廷、德、兆、鸿、隆、运。 4 a m) f$ _: ~

33、安徽灵壁徐氏一支家谱字派

明、昌、兴、龙、忠、厚、传、家、远、诗、书、继、世、长。

34、湖北麻城孝感乡徐氏一支家谱字派 0 ~3 o6 u; Q& f: k6 h ]

天、正、世、代、昌,朝、廷、兴、万、邦;高、明、悠、久、顺,永、远、照、真、祥。

35、湖南省临武县徐氏一支家谱字派 ) }! |9 c( E& i6 |0 M L

光、龙、公、焕、世,宗、允、上、元、如,良、甫、叟、伯、楚,舜、侣、寿、存、思,志、士、大、夫、卿,文、才、俊、秀、英,贤、能、应、选、举,道、学、崇、高、明。 $ 36、江苏高邮一沟镇河南陈家庄徐氏一支家谱字派 # R- 3 u, R1 [

统、绍、学、林、鹤、凤、启、智、海、龙、飞、生。 , e- X! T! x5 F+ h# n1 x4 K4 m6 O

37、四川营山县徐氏一支家谱字派 9 v X+ b z+ X& W

崇、贞、宗、千、祖,国、子、名、文、胜,朝、邦、万、代、永,其、昌、兴、隆、善,嘉、志、立、刚、常,仁、义、得、富、贵。

38、湖北省钟祥市徐氏一支家谱字派

正、裕、家、生、永、克、昌,天、开、文、运、吉、照、祥,光、宗、耀、祖、世、为、美,安、邦、定、国、华、锦、长。

39、广西龙州徐氏一支家谱字派 + V6 F: i1 d0 j7 P

德、崇、厚、福、天、宝、盛、人。

40、潮州徐氏一支家谱字派

仕、应、天、选,大、班、良、秦,经、国、帝、地,由、义、举、仁,明、正、科、开、选,精、忠、上、致、君,泽、化、传、永、远,本、端、定、家、兴,孝、友、绍、克、绪,经、书、启、嗣、贤。 ; @( e! E9 F( M4 q Y

41、江苏徐州铜山县徐氏一支家谱字派

忠、厚、传、家、远、诗、书、继、世、长。

42、湖南衡阳徐氏一支家谱字派 & Y4 Z- _ m+ o/ I3 t$ B) x; k

孔、武、大、君、圣、高、瞻、远、见、佑。

43、湖北荆州市荆州市弥市镇陈家湾村徐氏一支家谱字派 C- Z% l6 z1 c2 `

明、正、科、开、选,精、忠、上、致、君,泽、化、传、永、远,本、端、定、家、兴,孝、友、绍、克、绪,经、书、启、嗣、贤。

44、湖北石首徐氏一支家谱字派 8 l( ] e) M& T, x7 E) d w% ` w

诗、书、光、乾、业;忠、孝、启、后、坤。 D1 O7 E& }: u" K

45、安徽当涂县徐氏一支家谱字派 & f W9 w+ k2 h6 w+ ]6 ^, `

福、禄、寿、永,肇、祚、延、长,祖、源、省、上,行、表、言、坊,克、遵、懿、范;能、叙、纲、常,修、齐、有、本,相、得、益、彰,典、谟、训、诰,先、后、辉、煌;经、纶、化、育,迪、吉、尔、康,孝、友、为、政,郅、治、祯、祥,匡,辅、翼,安、定、明、良。

46、四川大竹徐氏一支家谱字派

真、天、存、得、玉,大、金、嘉、时、祚,曰、应、楚、之、才,华、国、文、章、绪;朝、廷、用、贤、良,立、学、明、庠、序,诗、礼、传、家、珍,世、代、受、恩、遇。

47、湖南省临澧县四新岗镇马家村徐氏一支家谱字派 4 `9 \% q/ ]- G4 m2 n; W8 a

心、书、礼、光、家、祖、忠、义、耀、朝、廷。

48、江西九江瑞昌县徐氏一支家谱字派 4 L- G1 n2 l: `( w( n+ X% j

添、文、福、守,亮、席、成、宗,其、应、以、余,家、之、道、通,学、茂、德、立,洪、新、世、绪,敬、狄、全,华、国、文、章。 J

49、江苏淮泗徐氏一支家谱字派

象、翠、豫、临、丰、履、同、升、复、泰、孚、观、咸、谦、有、宜。

50、南京徐氏一支家谱字派

修、仕、国、家、宝、鸿、儒、道、德、芳。

51、福建汀州彭屋碑村安名排辈 7 U1 _1 E& f2 w s2 k8 q

茂、良、秉、文、世,凝、依、安(作、理)、胜、昌,敬(志、英)、德、修、原、美,名、才、继、愈、长,庆、余、恒、积、善,业、大、永、遗、芳,兴、盛、家、声、显、荣、华、国、瑞、光,立、泰、泽、新、远,昆、强、伟、福、庄,尚、士、宏、开、建,宗、耀、祖、邦。

52、贵州徐氏一支家谱字派

锡、大、天、先(薪)、应;文、光、学(华)、世(永)、鸿;思、余、平、安、义;镇、国、定、庭、忠。

53、广东揭阳徐氏一支家谱字派 & d) 6 a/ [3 k, p8 a

君、臣、佑、益、禾责(责)、厚、能、发、光、大、统、有。

54、武汉市黄陂区长岭街徐氏一支家谱字派

春、焕、耀、家、庭,君、臣、道、义,永、振、大、明。

55、四川省平昌县徐氏一支家谱字派 9 V2 a/ l( {% v" Y

九、位(卫)、运、奉、云、文、明、光、大、正、贤、仕、登、朝、庭(廷)、焕、直、兆(朝)、灯。

56、安徽怀宁三桥陈氏 1 A/ F; K2 r7 E2 E, _

陈、栾、日、仕、普,友、延、金、木、水,尚、九、毓、永、昌,王、廷、光、国、祚,传、家、惟、一、经,中、存、务、广、厚。

57、四川省遂宁徐氏一支家谱字派 7 b' f: m( s/ e' y

宗谱取名定派歌:继、自、其、汝、之,九、邦、第、宏、基,培、应、醇、厚、广,裕、启、显、扬、时,勤、慎、佐、国、宜,绵、长、锺、嗣、烈,世、泽、万、年、思。

58、四川巴中恩阳义阳山陈氏湖广填川的第六代宗谱 1 M( N4 f" b' A" Z0 o a8 }$ T8 ' j

鸿、绍、启、中、永、定、顺、安。 1 O2 h5 M7 _/ a" [/ Z+ a( _

59、贵州都匀骆家田徐氏一支家谱字派

荣、学、际、国、治、延、佑、宏、世、德、孝、友、惟、敬、修、光、显、永、尔、锡。 7 60、湖南双峰荷叶镇陈氏排辈表

大、朝、必、兴、宗、祖、庆,世、祚、公、卿、焕、一、门,习、礼、敦、诗、垂、荫、远,服、畴、绍、德、迪、光、蕃,英、才、荟、蔚、占、星、聚,丹、诏、荣、颁、表、义、尊,欲、识、泽、长、绵、楚、派,颜、川、正、可、诉、渊、源。

61、安徽省肥西县徐氏一支家谱字派

文、学、光、宗,贤、能、辅、国,明、理、安、常,宏、昭、世、泽。

62、辽宁省庄河县大陈庄和小陈庄徐氏一支家谱字派

元、学、春、广、兆,仁、复、日、焕、祥,连、仲、丕、继、本,玉、树、振、永、昌。 - 63、湖南湘乡山枣徐氏一支家谱字派 Y8 B/ W6 M; x: M/ U

义、明、君、孝、友。

64、河南潢川(原河南光州)徐氏一支家谱字派

家庭门联有:义、门、家、声、振,颍、川、世、泽、长。

辈份中有:殿、传、金、宝,家、庆、宏、昌,永、绍、先、泽,大、显、其、光。

65、安徽省枞阳县徐氏一支家谱字派

克、相、胜、庭。

66、广东揭阳古溪陈氏

家庙楹联:古、风、尚、在,溪、水、长、流;古、风、尚、在、千、帆、竞、发,溪、水、长、流、万、派、归、源;古、远、家、声、旧,溪、深、世、泽、长;古、桐、栖、彩、凤,溪、泽、卧、蛟、龙;古、传、家、声,据、史、依、经、起、妫、姓,溪、涵、派、泽,追、源、溯、本、自、莆、田;思、祖、先、业、绩、克、绍、箕、裘、扬、祖、德,成、禋、祀、规、模、恭、治、俎、豆、报、宗、德。

灯橱:古今明月照耀浪清溪,古风仰止涵辉祚清溪。 / c% o! a( X4 T/ Q" H

67、福建省安溪县蓬莱寮内陈氏 3 Q$ x7 `& q- A1 Q

字辈(昭穆)排行(十世起):振、弘、光,承、大、业,举、芳、正,立、贤、哲,钦、天、良,会、帝、德,绍、舜、祖,尚、允、吉。

68、广东省清远滨江泰陂陈氏

大明洪武年间有诗曰:四、海、五、湖、天、下、陈,青、山、绿、水、影、乾、坤。兰、桂、腾、芳、枝、秀、茂,世、传、后、裔、步、青、云。 W4 E! X# E( l# E7 y1 T; E

如今爱新觉罗氏大致有30—40万人!!!!!!!!!!!!!!!!

爱新觉罗家族的分布

16世纪80年代,爱新觉罗氏还只是一个人数很少的家族,包括努尔哈赤的六祖以及他们22个儿子所组成的家庭。

自努尔哈赤建立后金起,到末代皇帝溥仪清朝灭亡止,后金、清朝一共存在296年,经历了11代12位皇帝。在这近3个世纪中,后金、清朝的皇帝,拥有众多的后妃,他们的子孙也拥有远超过常人妻室的妃妾,加上中国崇尚多子多孙的古老传统习俗,因而爱新觉罗家族子孙繁衍十分迅速。

有的学者认为,清朝入关前,在第2代皇太极时期,皇族成员约有100人;到第3代顺治时期,皇族成员是419人;到第4代康熙时期,皇族成员约有490人;到第5代雍正时期,皇族成员已超过1000人;到第7代嘉庆时期,皇族已近4700人;清朝灭亡以后,到20世纪30年代,皇族后裔已达2万人。1936出版的《爱新觉罗宗谱》,收集了这个家族几百年来的世袭繁衍材料。自16世纪80年代至20世纪30年代,努尔哈赤这一支系的后裔,仅男性就有近34万多人,整个宗室的后裔有46万多人,还有觉罗系统的后裔计34万多人,合计有8万多人,而这还仅仅是男性。如按皇子与皇女的比例来计算的话,那么,爱新觉罗家族在3个多世纪中,宗室的后裔有 8万多人,觉罗的后裔有近6万人,整个爱新觉罗家族计有后裔近14万人。不难看出,这近300年的时间,爱新觉罗家族,是处于一个拥有特权的时期,子孙繁衍的速度是很快的。

从20世纪30年代以来的近70年间,爱新觉罗家族流散各地,皇族身分已成了历史,政府行为的修谱已无可能,纯正的血统已无保障,婚姻状况也日趋复杂,几乎没有任何家谱问世,家族人口的统计已很困难。

不过,一种趋势是很明显的,爱新觉罗氏的人口,仍然还在不断膨胀,血缘关系也由近及远,逐渐形成众多分支。据估计,如今爱新觉罗氏大致有30—40万人。 如~爱新觉罗·紫薇 爱新觉罗 ·州迪和

其实到清朝最后的三代皇帝,由于近亲结婚,几乎是没有子女,有也是早早夭折所以现在估计子孙很少

爱新觉罗,这个姓,后来也有了简化,有的改为"赵",有的为"罗"等等,很多

清皇族后裔在全国分布广泛,其生活状态多种多样,对待“爱新觉罗”姓氏的态度也各不相同。

不愿提皇族身份

62岁的崇文区副区长金毓嶂是醇亲王载沣的长孙。他说 “我们家的人都不姓爱新觉罗,都什么年代了,姓那个有点儿古怪。”

醇亲王载沣的11个孩子中4个是男孩,除末代皇帝

溥仪外,还有溥杰、溥供和溥任。溥仪无后,溥供3岁早夭,溥杰只生有两个女儿,溥任的长子就是金毓嶂。溥任的次子金毓峑在北京某大学任环境与能源工程学院的副院长,三子金毓岚是朝阳区和平街第一中学的高级语文教师,还是一位古玩收藏家。

对于家族中出了两个皇帝,金毓嶂说,这是历史的选择,他的家族对此很不情愿,也很不胜任。“因此我们没有必要总是提起皇族身份。”金毓嶂说。

为爱新觉罗姓氏自豪

在身份证上,这位45岁的女画家名叫毓紫薇,爱新觉罗·毓崌是她的正式名字。姓氏的恢复对她的事业有所帮助。“画会好卖一些,”她说,“人家一看,‘爱新觉罗’,就认你的画。”毓紫薇说,自己的画是“有行无市”,大多卖给了朋友。

毓紫薇是崌亲王奕

讠宗的第4代孙女,奕讠宗

是道光五子,即金毓嶂的曾祖父——第一代醇亲王的哥哥。“从心底里,我对爱新觉罗这个姓氏感到自豪,”她说,“因为我们这个家族里出了康熙、乾隆这样的好皇上。”

难以概括的群体

关于“爱新觉罗”的姓氏,在前北京市民委副

主任赵书看来,“正支的皇族后裔很少自己冠以爱新觉罗氏,旁支的就喜欢这么叫,尤其是在书画界。”他给这种现象起了个名字,叫作“时代功利性”。

在沈阳,60岁的德崇开了一家“爱新觉罗·德崇文化商行”,专门经销清代传统的文化工艺品。如果你叫他“德崇”,他会嗓音洪亮地纠正你:“我是爱新觉罗·溥旻!”不过,他的家谱中的贵族血统要追溯到努尔哈赤才可见到。

对比几个历史阶段皇室后裔或低调或高调的行为方式,北京市满学会会长阎崇年认为,辛亥革命后,皇族后裔纷纷改姓,建国后的一段时间里又强调阶级划分,因此皇室后裔对“爱新觉罗”姓氏比较忌讳;现在他们以家族为自豪,恰好说明社会心态的宽容与进步。

  国家图书馆关于“地方文献”的征集函

  地方文献是某一地区自然、社会现象和群体活动方式的记录。地方文献中的方志、家谱,与正史一起构成中国史学三大支柱,方志更被赋予了资政、存史、育人的功用。国家图书馆从上世纪建馆之初即重视地方志、家谱的收藏,经过几十年的积累,现存方志、家谱的数量与质量都居全国前列。1990年4月国家图书馆在分馆(古籍馆)成立地方志和家谱文献中心,专藏特色地方文献,为读者提供阅览、咨询服务,此后又增加了文史资料和年鉴的收藏。目前共有藏书52万种,24万册。但由于新修家谱、地方政协文史资料等多种地方文献以“非正式出版”的形式发行,给地方文献的入藏带来很大困难。

  2009年1月4日,国家图书馆正式成立方志馆。方志馆致力于地方文献的系统搜集、整理、研究、利用和保存,要成为为国家编修方志服务的信息机构,同时要建设成为全国地方文献系列专藏的收藏保存中心,地方文献服务咨询中心,整理研究和学术交流中心。为了能够全面、系统收藏地方文献这一特色文献,国家图书馆特面向社会各界广泛征集各类地方文献。国家图书馆能够拥有丰富的馆藏文献,得益于社会各界的大力支持和帮助,长期以来社会各界的慷慨捐赠是国家图书馆丰富馆藏的重要渠道之一。国家图书馆借此向社会各界表示由衷的感谢,并诚挚希望得到社会各界一如既往的关心支持。

  重点征集范围如下:

  1、1949年以前出版的地方志、乡邦文献;

  2、家谱及族姓资料;

  3、各地政协或文史委编辑的地方文史资料;

  4、各类志稿、各类专业志、部门志;

  5、地方党史资料;

  捐赠文献凡符合本馆入藏标准而本馆尚未收藏的,将被作为正式馆藏,永久保存,并将向捐赠者颁发“收藏证书”,作为捐赠文献被国家图书馆收藏的凭证。

  专此致函。

  寄赠地址:北京市西城区文津街7号(邮政编码:100034)

  收件人:国家图书馆地方文献组

  咨询部门:国家图书馆地方文献组,电话010-88003126

  E-mail:menghua@nlcgovcn

  网址:http://wwwnlcgovcn

  二○○九年一月

  首页上找到的。。你可以自己仔细看下

  附上地址首页:wwwnlcgovcn

  这个文的直接地址:http://wwwnlcgovcn/syzt/2009/0119/article_212htm

陈氏家族源远流长,各地分庄陈氏字辈各有不同 你应该请教家族老人来告诉你们那一支陈门字辈议定 方为准确 给个链接 略作参考

http://zhidaobaiducom/linkurl=Dc-9iI563P0qrX5UpqU0i-BNlgwlZEuma4FQGEZliDRqhmQrJ3ksdLzhD6Elqd4R1kpoH_DTA3g3wgVO47IiT_

  据史书记载:剑川段氏家谱

  一 姓氏源流

  段姓来源有三:

  1 出自姬姓,是春秋时期政武公的儿子共叔段的后代。春秋时,

  郑武公的妻子武姜生大儿子庄公的时候难产,生二儿子叔段的时候却

  很顺利,因此她喜欢叔段而不喜欢庄公。郑武公病重时她请求郑武公

  废长立幼,让段叔继承王位,郑武公没有答应。庄公当了郑国国君后

  武姜又请求把制作为段叔的封地,庄公不答应,而把京城封给了段叔

  ,段叔与姜氏勾结,不断扩张自己的势力,并准备袭击庄公,庄公知

  道后立即派兵讨伐段叔。段叔大败,逃到共,称为共段叔。他的子孙

  后来四处分布,有的姓段,有的姓共叔,还有的以共作为姓氏。这就

  是所说的河南段氏。

  2 出自复姓段干木的后代。战国时期有复姓段干木,原是晋国人

  ,后到魏国,他的后代有以单姓段为姓氏的。这就是山西段氏。

  3 出自辽西鲜卑族后裔。西晋时有一个部落首领叫段务目尘,被

  封为辽西公。他的领地有三万家,分布在辽宁西部。后来与汉人杂居

  后多以段作为姓氏。是为辽西段姓。

  4 云南蛮段氏。魏末短延末蛮代为酋帅,裔孙凭到朝廷作官后被

  拜为云南刺史,后传下这支段姓。

  二 迁徙分布

  段氏的发源地主要有:一是河南北部共叔段的一支;二是出自

  段干邑的段干木的一支,段干邑现已不可查;三是出自辽宁西部的鲜

  卑部落。大体上来说,在姓氏的发展史上段姓应是一个典型的北方民

  族,源于北方,大举发展于北方,尤其是陕西、甘肃两省最旺盛。据

  有关资料记载,西汉文帝时有段印任北地都督,其子孙始居武威(今

  甘肃境内),传至十七世孙段荣,北魏时任定州、秦州刺史。短荣的

  八世孙段楹任大理司直。其后代世代为官,在汉至隋唐时,陕西、河

  南、河北、云南都有了段氏的子孙。从整体上看,段氏的分布主要在

  北方。

  三 郡望堂号

  郡望:

  1 京兆郡:汉太初元年改右内史置京兆尹,治所在长安。三国魏

  将辖区改称京兆郡。

  2 武威郡:汉间在原匈奴休屠王地置郡,治所在武威。此支段氏

  的始祖为西汉段贞。

  3 扶风郡:汉武帝太初元年置右扶风,为三辅之一。三国时改为

  扶风郡,治所在槐里。西晋移至池阳。

  堂号:

  1 君轼堂:战国时期魏国的段干木不肯作官,魏文王却认为他很

  能干,于是亲自登门拜访,段木干跳墙躲了起来,不肯与之相见。文

  侯依然很尊敬他,每次从他的门前经过时都要站在车的横木上肃立,

  并说:“段干木是贤人,我能不轼吗?”

  2 段氏还有以武威、京兆为堂号的。

  四 家乘谱牒

  全国:段氏宗谱卷、段氏族谱二十卷首一卷

  山西:洪洞晋洪洞冯张村段氏家谱一卷

  江苏:丰县段氏族谱四卷、金坛段氏家乘十卷首一卷、句容句曲

  段氏重修宗谱八卷

  浙江:常山段氏宗谱不分卷

  安徽:寿县段氏宗谱四卷首一卷

  福建:建阳兴田段氏族谱二十一卷

  江西:萍乡萍西段氏族谱卷、波阳段氏宗谱十卷

  湖北:新洲段氏宗谱四卷首五卷、利川厚坝段氏族谱四卷

  湖南:凝益段氏五修宗谱十二卷首一卷、湘潭城北段氏宗谱不分

  卷、邵阳段氏族谱三十二卷首二卷

  四川:江北段氏宗谱十九卷、内江段氏家乘四卷、内江段氏家乘

  二卷

  典故:

  忠留册笏1;学博酉阳2。

  注释:1唐代司农卿段秀实,字成公,汧阳人。朱泚反叛,认为他能孚众望,胁迫到军中计事。他乘间用象笏猛击朱泚,遂被杀害。后追赠太尉,谥忠烈。

  2唐代太常卿段成式,字柯古,临淄人。他博闻强记,藏书丰富,尤多奇篇秘籍,撰有《西阳杂俎》,清人辑有《段成式诗》。

  旷览江天,包罗海岳;

  长养花木,位置鼎彝3。

  注释:3清代咸丰进士薛慰农赠清代文人段小湖联(节录)。

  好溪呼于百姓4;开谕胜过三军5。

  注释:4唐代太常少卿段成式的事典。

  5唐代翰林学士段文昌的事典。段文昌,字墨卿,一字景初,临淄人。穆宗时入相,出为剑南西川节度。汉尚宽静。文宗立,拜御史大夫,封邹平郡公。后复节度西川卒。

  远岫林端出;清波城下回6。

  注释:6唐代翰林学士段文昌《晚夏登张仪楼呈院中诸公》诗中联句。

  水暗余霞外;山明落照中7。

  注释:7段文昌《题武担寺西台》诗中联句。

  独存一夫,坚守学道8;

  尚有二人,拥为君王9。

  注释:8战国时魏国人段干木,与田子方、李克、翟璜、吴起俱为魏国才士,诸人都当了将军,只有他独潜学守道,不事诸侯,为于下所重。

  9段姓称帝者有二人。即:十六国时西燕内乱,众推大将段随为王,改元昌平,旋被杀;十六国时,又有西安人段业,被匈奴人拥立为北京国君,在位三年被杀。

  句饶方外趣;游惬社中朋10。

  注释:10唐代太常少卿段成式《书事联句》。

  排行:

  段

  子成应荣,玉思朝儒,一绍显大,世昭明廷。

  摘自《谱牒学研究》

  注:此为白族族谱

  http://cachebaiducom/cword=%BD%A3%B4%A8%3B%B6%CE%3B%CA%CF%3B%BC%D2%C6%D7&url=http%3A//www%2Eynda%2Eyn%2Egov%2Ecn/F%5F1%5F3%2Ehtm&b=0&a=135&user=baidu

用二叉树实现家谱运算

C++语言: 二叉树实现的简单家谱树/ File Name: BiTreecpp Author: Geng Lequn[glq2000@126com] ...
点击下载
热门文章
    确认删除?
    回到顶部