《数据结构(C语言版)》 你是说清华大学的教材吗?严蔚敏和吴伟民编著的那本?这本书的话作为教材整体还不错,但是如果自学的话就比较枯燥了。其实国内有很多新出的数据结构都不错,不管是用C++还是JAVA,还是C,或者其他语言描述的,感觉很多都比这本要好。学习数据结构的话,我推荐看《数据结构与算法分析:C语言描述》这本书,个人认为比清华大学的这本讲述的要好一些~当然仅仅是个人立场,给个建议。
数据结构(c语言版) 测试数据1:创建二叉树,输入先序扩展序列:ABD#E#C#F##先序遍7a686964616fe59b9ee7ad9431333363373739历输出节点:A B D E C F中序遍历输出节点:D B E A C F后序遍历输出节点:D E B F C A二叉树示意图:A\\B C\\/\\D E#F\\/\\/\\测试数据2:创建二叉树,输入先序扩展序列:ABC#DE#G#F##先序遍历输出节点:A B C D E G F中序遍历输出节点:C B E G D F A后序遍历输出节点:C G E F D B A二叉树示意图:A\\B#\\C D\\/\\E F\\/\\G#\\includeincludetypedef struct Node/二叉树的结构体{char data;字符struct Node*lchild;左分支struct Node*rchild;右分支}Bitree;创建二叉树:用\"先序遍历\"(递归法)void CreateBiTree(Bitree*bt){char ch;scanf(\"%c\",&ch);输入字符if(ch='#')/'#'是空节点NULLbt=NULL;else{bt=(Bitree*)malloc(sizeof(Bitree));(*bt)->;data=ch;CreateBiTree(&((*bt)->;lchild));CreateBiTree(&((*bt)->;rchild));}}用\"先序遍历\"输出节点(递归法)void preOrder(Bitree*ptr){if(ptr。NULL){printf(\"%c\",ptr->;data);preOrder(ptr->;lchild);preOrder(ptr->;rchild);}}用\"中序遍历\"输出节点(递归法)void inOrder(Bitree*ptr){if(ptr。。
数据结构(C语言版) 1.类型定义有问题,将LinkList定义的都改为LNode*吧。2.有一处else写为elst了帮你改了一下,正在是修改后的程序:可以编译通过,但不知道逻辑是否正确,自己检查一下哈。includeincludetypedef char ElemType;typedef struct LNode{int data;struct LNode*next;}LNode,*LinkList;int ListInsert_L(LNode*head,int i,char e){LNode*p=head;LNode*s;int j;p=p->;next;for(j=1;j;j+){if(p)p=p->;next;else break;}if。p|i){printf(\"请输入正确的值\\n\");return 0;}s=(LNode*)malloc(sizeof(LNode));s->;data=e;s->;next=p->;next;p->;next=s;return 1;}LinkList CreateList_L(LinkList head){char temp;LinkList p;printf(\"请输入结点值(输入0结束):\");fflush(stdin);scanf(\"%c\",&temp);while(temp。'0'){if(('A')|('a')){p=(LinkList)malloc(sizeof(LNode));p->;data=temp;p->;next=head->;next;head->;next=p;}printf(\"请输入结点值(输入0结束):\");fflush(stdin);scanf(\"%c\",&temp);}return head;}int ListDel_L(LinkList head,int i){LinkList p,tmp;int j;p=head->;next;tmp=head;for(j=1;j;j+){if(p){p=p->;next;tmp=tmp->;next;}else break;}if。p|i){printf(。