打印

数据结构编程问题

[复制链接]
1574|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我是鑫海晕|  楼主 | 2010-12-27 23:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 我是鑫海晕 于 2010-12-28 14:48 编辑

1、 已知两个按元素值有序的线性表A和B以线性链表存储结构表示,编程实现:利用原有存储空间,将A和B有序归并成一个按元素值有序的线性表。
1、 编程实现:链队列和循环队列的出队和入队操作。
2、 已知二叉树采用二叉链表存储结构表示,编程实现:求二叉树的结点总数、叶子结点个数、单分支结点个数、双分支结点个数和二叉树的深度。
#include<stdlib.h>
#include<stdio.h>
typedef int ElemType;
typedef struct LNode{                /*线性表的单链表存储结构*/
    ElemType   data;
    struct  LNode  *next;
}LNode,*LinkList;
void CreateList_L(LinkList &L,int n){
/*逆位序输入n个元素的值,建立带头结点的单链线性表L*/
    L=(LinkList)malloc(sizeof(LNode));
    L->next=NULL;    /*先建立一个带头结点的单链表*/
    int i;
    LNode *p;
    for( i=n;i>0;--i){
        p=(LinkList)malloc(sizeof(LNode));    /*生成新结点*/
        scanf("%d",&p->data);   /*输入元素值*/
        p->next=L->next;L->next=p;      /*插入带表头*/
    }
}//CreateList_L
void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc){  
    /*已知单链线性表La和Lb的元素按值非递减排列*/
    /*归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列*/
    LNode *pa,*pb,*pc;
    pa=La->next;pb=Lb->next;
    Lc=pc=La;    /*用La的头结点作为Lc的头结点*/
    while(pa&&pb){
        if(pa->data<=pb->data){
            pc->next=pa;pc=pa;pa=pa->next;
        }
        else{pc->next=pb;pc=pb;pb=pb->next;}
    }
    pc->next=pa?pa:pb;   /*插入剩余段*/
    free(Lb);     /*释放Lb的头结点*/
}//MergeList_L
int main(){
CreateList_L(&La,2);
CreateList_L(&Lb,2);
MergeList_L(&La,&Lb,&Lc);
while(Lc){
Lc=Lc->next;
printf("%d",&Lc);
}
}
用C编的,有什么问题

相关帖子

沙发
HWM| | 2010-12-28 10:04 | 只看该作者
这不是问题,而是题目....

题目还得自己做,否则还读哪门子书啊。

使用特权

评论回复
板凳
我是鑫海晕|  楼主 | 2010-12-28 14:04 | 只看该作者
ee

使用特权

评论回复
地板
月生1991| | 2010-12-28 14:08 | 只看该作者
:)2楼说得对

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

10

帖子

0

粉丝