数据结构源码笔记(C语言):统计字符串中出现的字符及其次数
//统计一个字符串中出现的字符及其次数
#include<stdio.h>
#include<malloc.h>
#include<string.h>#define MAXWORD 100typedef int KeyType;typedef struct tnode
{char ch;//字符int count;//出现次数struct tnode *lchild,*rchild;
}BTree;void CreaTree(BTree *&p,char c)
{//采用递归方法构造一棵二叉排序树if(p==NULL)//p为NULL,则建立一个新结点{p=(BTree *)malloc(sizeof(BTree));p->ch=c;p->count=1;p->lchild=p->rchild=NULL;}else if(c==p->ch)p->count++;else if(c<p->ch)CreaTree(p->lchild,c);elseCreaTree(p->rchild,c);
}void InOrder(BTree *p)//中序遍历BST
{if(p!=NULL){InOrder(p->lchild);//中序遍历左子树printf("字符 %c 在本串中出现的次数:%d \n",p->ch,p->count);//访问根节点InOrder(p->rchild);//中序遍历右子树}
}int main()
{BTree *root=NULL;int i=0;char str[MAXWORD];printf("\n");printf("输入字符串:");gets(str);while(str[i]!='\0'){CreaTree(root,str[i]);i++;}printf("各字符及出现次数:\n");InOrder(root);printf("\n"); return 0;
}
数据结构源码笔记(C语言描述)汇总:
数据结构源码笔记(C语言):英文单词按字典序排序的基数排序
数据结构源码笔记(C语言):直接插入排序
数据结构源码笔记(C语言):直接选择排序
数据结构源码笔记(C语言):置换-选择算法
数据结构源码笔记(C语言):Huffman树字符编码
数据结构源码笔记(C语言):Josephus问题之顺序表
数据结构源码笔记(C语言):Josephus问题之循环链接表
数据结构源码笔记(C语言):多项式合并
数据结构源码笔记(C语言):二叉树之叶子结点旋转销毁
数据结构源码笔记(C语言):哈夫曼树
数据结构源码笔记(C语言):集合的位向量表示
数据结构源码笔记(C语言):链接队列
数据结构源码笔记(C语言):链接栈
数据结构源码笔记(C语言):线性表的单链表示
数据结构源码笔记(C语言):线性表的顺序表示
数据结构源码笔记(C语言):栈的基本操作
数据结构源码笔记(C语言):中缀表达式
数据结构源码笔记(C语言):希尔插入排序
数据结构源码笔记(C语言):索引文件建立和查找
数据结构源码笔记(C语言):冒泡排序
数据结构源码笔记(C语言):快速排序
数据结构源码笔记(C语言):可变长度字符串的快速排序
数据结构源码笔记(C语言):基数排序
数据结构源码笔记(C语言):二路归并排序
数据结构源码笔记(C语言):堆排序
数据结构源码笔记(C语言):二叉树搜索树Kruskal
数据结构源码笔记(C语言):二叉搜索树Prim
数据结构源码笔记(C语言):最短路径弗洛伊德算法
数据结构源码笔记(C语言):深度、广度优先生成树
数据结构源码笔记(C语言):邻接矩阵转化邻接表
数据结构源码笔记(C语言):统计字符串中出现的字符及其次数
数据结构源码笔记(C语言):顺序查找
数据结构源码笔记(C语言):哈希表的相关运算算法
数据结构源码笔记(C语言):分块法查找
数据结构源码笔记(C语言):二分查找
数据结构源码笔记(C语言):二叉树遍历
数据结构源码笔记(C语言):二叉平衡树的相关操作算法
数据结构源码笔记(C语言):二叉排序树的基本操作算法
数据结构源码笔记(C语言):B树的相关运算算法
数据结构源码笔记(C语言):统计字符串中出现的字符及其次数相关推荐
- 数据结构源码笔记(C语言):可变长度字符串的快速排序
//实现可变长度的字符串序列快速排序算法#include<stdio.h> #include<malloc.h> #include<string.h>#define ...
- 数据结构源码笔记(C语言描述)汇总
数据结构源码笔记(C语言):英文单词按字典序排序的基数排序 数据结构源码笔记(C语言):直接插入排序 数据结构源码笔记(C语言):直接选择排序 数据结构源码笔记(C语言):置换-选择算法 数据结构源码 ...
- 数据结构源码笔记(C语言):英文单词按字典序排序的基数排序
//实现英文单词按字典序排序的基数排序算法#include<stdio.h> #include<malloc.h> #include<string.h>#defin ...
- 数据结构源码笔记(C语言):索引文件建立和查找
//实现索引文件建立和查找算法#include<stdio.h> #include<malloc.h> #include<string.h> #include< ...
- 数据结构源码笔记(C语言):快速排序
//实现快速排序算法 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; type ...
- 数据结构源码笔记(C语言):冒泡排序
//冒泡排序算法实现 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; type ...
- 数据结构源码笔记(C语言):希尔插入排序
//实现希尔插入排序算法 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; ty ...
- 数据结构源码笔记(C语言):直接插入排序
//实现直接插入排序算法#include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; typ ...
- 数据结构源码笔记(C语言):直接选择排序
//实现直接选择排序算法#include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; typ ...
最新文章
- Java Maven学习 - 1
- java对象是 什么的集合_java持有对象-集合类
- WF4.0 基础篇 (二十八) WF调用PowerShell
- 关于iOS 5 Could not instantiate class named NSLayoutConstraint错误
- jQuery回调、递延对象总结(中篇) —— 神奇的then方法
- JAVA语言程序设计(基础篇)——第四章例题
- xml文件和DataTable之间相互转换
- const常类型说明
- deepin20.7安装mysql8.0.30教程
- 时空数据挖掘一(城市计算)
- vcard文件怎么导入手机_如何从单个vCard(.vcf)文件将多个联系人导入Outlook 2013
- 计算机如何增加c盘容量,怎么给c盘增加空间 c盘增加空间步骤【图文】
- php书和作者,【原创书评】《[死神]白鸟书 》作者:云暖(任性傲娇的贵族少年与大小白的回忆)...
- 我不相信长夜将至,因为火把就在自己手中。
- 文化苦旅 余秋雨著
- 2020-27th-07 蒟蒻团 【陈睿的考验】详解
- Bugku:杂项 猫片(安恒)
- 我的软设、系分考试经验(书)
- YII2.0 接口开发步骤
- 上汽大众推出2023款纯电车,ID.系列新款售价16.3万元起