当前位置: 首页 > wzjs >正文

e龙岩网站旅游电子商务平台有哪些

e龙岩网站,旅游电子商务平台有哪些,有哪些程序做的网站,响应式网站和不响应式1.先创建tree.h声明文件( Linux 命令:touch tree.h)。编写函数声明如下(打开文件 Linux 操作命令:vim tree.h): //树的头文件位置 #ifndef __TREE_H__ #define __TREE_H__ //节点 typedef struct node{int data;//数据struct node* left;//记录左侧子节…

1.先创建tree.h声明文件( Linux 命令:touch tree.h)。编写函数声明如下(打开文件 Linux 操作命令:vim tree.h):

//树的头文件位置
#ifndef __TREE_H__
#define __TREE_H__
//节点
typedef struct node{int data;//数据struct node* left;//记录左侧子节点地址struct node* right;//记录右侧子节点地址
}node_t;
//树
typedef struct tree{node_t* root;//记录树根的地址int cnt;//节点个数
}tree_t;
//树的操作
//树的初始化
//tree_t tree; tree.root tree.cnt
void treeInit(tree_t* t);
//插入节点
void treeInsert(tree_t* t,int data);
//删除节点
void treeDel(tree_t* t,int data);
//前序遍历
void treeFirst(node_t* n);
//中序遍历
void treeMid(node_t* n);
//后序遍历
void treeLast(node_t* n);
#endif //__TREE_H__

2.创建函数实现文件tree.c( Linux 命令:touch tree.c)。写入函数到文件中:

//树的实现
#include<stdio.h>
#include<stdlib.h>
#include"tree.h"//树的初始化
//tree_t tree;
//treeinit(&tree);
void treeInit(tree_t* t){t->root=NULL;t->cnt=0;
}
//树的插入
void treeInsert(tree_t* t){//创建新节点node_t* new=malloc(sizeof(node_t));new->data=data;new->left=NULL;new->right=NULL;//找位置插入//如果root位NULL,说明没有树根,此次新节点应该作为树根if(t->root==NULL){t->root=new;t->cnt++return;}// 通过p1 p2确定具体的插入位置node_t* p1,*p2;p1=p2=t->root;while(p2!=NULL){//p1慢p2一步p1=p2;if(p2->data>data){p2=p2->left;}else if(p2->data<data){p2=p2->right;}else{printf("节点存在!\n");free(new);//释放新节点的存储区!return;}}//循环结束时,p2指向NULL,p1指向的节点就是新节点的父节点//判断新节点在p1指向节点的哪侧if(p1->data>data){// 新节点在左侧p1->left=new;}else{// 新节点在右侧p1->right=new;}//计数加一t->cnt++;
}
//删除节点
void treeDel(tree_t* t,int data){//找到要删除的节点node_t* pp =t->root;//要删除节点的父节点node_t* pc =t->root;//要删除的节点while(pc!=NULL&&pc->data!=data){//判空条件要放前面,否则pc为空时会段错误//pp慢pc一步pp=pc;//pc继续向下找if(pc->data>data){//向左找pc=pc->left;}else{//向右找pc=pc->right;}}//循环结束时,pc要么指向要删除的节点,要么指向NULL//pp指向要删除节点的父节点if(pc==NULL){printf("节点不存在!\n");return;}
//根据节点情况进行删除
node_t* left=pc->left;//表示要删除节点的左子树
node_t* right=pc->right;//表示删除节点的右子树
// 说明要删除的节点,左右子树都没有if(left==NULL&&right==NULL){if(pc->data>pp->data){//目标节点在父节点右侧pp->right=NULL;}else{pp->left=NULL;}//释放目标节点free(pc);//计数减一t->cnt--;}
//没有左子树 有右子树if(left==NULL&&right!=NULL){//将右子树,挂在父节点上if(pc->data>pp->data){//右子树,挂在父节点的右侧pp->right=right;}else{//左侧pp->left=right;}//释放目标节点free(pc);//计数减一t->cnt--;}//没有右子树 有左子树if(left==NULL&&right!=NULL){//将右子树,挂在父节点上if(pc->data>pp->data){//右子树,挂在父节点的右侧pp->right=left;}else{//左侧pp->left=left;}//释放目标节点free(pc);//计数减一t->cnt--;}
}

3.编写主函数调用文件main.c(Linux命令:touch main.c)。编写逻辑操作:

#include<stdio.h>
#include"tree.h"int main(void){//树tree_t tree;//初始化treeInit(&tree);//插入节点treeInsert(&tree,60);treeInsert(&tree,30);treeInsert(&tree,90);treeInsert(&tree,10);treeInsert(&tree,50);treeInsert(&tree,20);treeInsert(&tree,40);treeInsert(&tree,80);treeInsert(&tree,100);treeInsert(&tree,70);treeFirst(tree.root);printf("\n");treeMid(tree.root);printf("\n");treeLast(tree.root);printf("\n");treeDel(&tree,30);treeFirst(tree.root);printf("\n");treeMid(tree.root);printf("\n");treeLast(tree.root);printf("\n");return 0;
}

4.编译运行

Linux命令:gcc main.c tree.c -o tree

                运行:./tree

http://www.dtcms.com/wzjs/576883.html

相关文章:

  • 织梦网站默认密码忘记温州seo排名公司
  • 招商网站建设全包建设银行浙江网站
  • 西部数码网站管理助手4.0 破解版体育西网站开发
  • 网站建设制作公司 首推万维科技内部网站做域名解析到端口
  • 网站怎么获得流量宁德市住房和城乡建设局
  • 科技让生活更美好作文450字佛山网站建设十年乐云seo
  • 浦东新区做网站公司如何建设专题网站
  • wordpress二次元网站网站有备案是正规的吗
  • 网站制作国内知名企业wordpress禁用新编辑器
  • 房地产公司网站源码WordPress根目录是什么
  • 网站建设与维护技术浅谈论文企业品牌网站建设报价
  • 阿里云 oss做网站做个什么样的网站
  • 怎么样做企业网站广州做网站新锐
  • 橙色 网站wordpress 文档 pdf
  • 湖州建设局投标网站郑州百度搜索优化
  • 深圳市坪山区住房和建设局网站吉安市城乡建设局网站
  • 华为网站的建设建议肥西做网站
  • 站长工具问答网站盐城网站优化
  • 免费网站制作推广陕西的网站建设公司排名
  • 在线文库网站建设长治做网站
  • 做租赁的行业网站seo顾问是干什么
  • 做贷款在那些网站找客户兰州门户网站建设
  • 问答论坛网站建设免费制作小程序平台
  • 优秀手机网站版式全国网站开发赛
  • 知名网站域名被抢注wordpress通知
  • 网站开发表格整体页面居中牡丹江免费信息网
  • 开发网站广州论文网站建设目标
  • 东莞市官网网站建设怎么样android网站开发实例
  • 自己做链接网站互联网做视频网站需要许可证吗
  • 免费网站建设是什么建设银行代发工资清单网站