摘要:
试写一个函数,计算字符串 s中最大连续相同的字符个数。例如,若s 为"aaabbbb",则返回值为4;若s为"abcde",则返回值为1。 函数原型:int max_same_char( char s) /** * file name:ConstanChar_Count.c * author : l 阅读全文
摘要:
请利用两个找sl 和s2 来模拟一个队列, 假设栈中元素为int 型, 栈中元素最多为maxSize 。已知栈的3 个运算定义如下。 push(ST,x) : 元素x 入ST 栈。 pop(ST,&x): ST 栈顶元素出栈, 赋给变量x 。 isEmpty(ST) : 判断ST 栈是否为空。 如何 阅读全文
摘要:
常见的排序算法 目录一、冒泡排序(Bubble Sort)二、插入排序(Insert Sort)三、选择排序 (Selection Sort)四、希尔排序(Shell Sort)五、快速排序(Quick Sort)六、堆排序(Heap Sort)七、归并排序(Merge Sort)八、计数排序(Co 阅读全文
摘要:
C语言中四舍五入问题的总结 在C语言中大部分情况下都是不需要四舍五入的。 除了一种情况:在使用输出函数 printf()限制浮点型输出的小数位个数 eg: printf("%0.2f",1.567);//输出的结果是1.57 其他情况下都不需要四舍五入,比如 自动转换 在不同类型的混合运算中,编译器 阅读全文
摘要:
利用单向链表设计一个栈,实现“后进先出”的功能 栈内存自顶向下进行递增,其实栈和顺序表以及链式表都一样,都属于线性结构,存储的数据的逻辑关系也是一对一的。 栈的一端是封闭的,数据的插入与删除只能在栈的另一端进行,也就是栈遵循“*后进先出*”的原则。也被成为“LIFO”结构,意思是“last 阅读全文
摘要:
题目一 //计算一颗二叉树的所有节点的数量,可以采用递归实现 int BinaryTree_CountNode(Tnode_t *root) { int n1,n2; //n1用于记录左子树的节点,n2用于记录右子树的节点 //递归函数先提前写好终止条件 if (NULL == root) { re 阅读全文
摘要:
编写一个函数,实现单链表逆序,,函数原型如下: *void reverse_list(single_list head) 程序代码如下: void reverse_list(single_list *head) { single_list *p = head->next; //将链表除头节点的节点保 阅读全文
摘要:
利用单向链表设计一个队列,实现“先进先出”的功能 队列的两端都允许操作,只不过要求数据只能从队列的一端插入,从队列的另一端删除,可以把队列理解为一根水管,水管有进水口和出水口。 一般把允许数据插入的一端称为队尾(Tail或者Rear),一般把允许删除数据的一端称为队头队首(Head或者Fro 阅读全文
摘要:
十进制转换为十六进制——利用栈的“先进后出”的思想 题目:设计一个进制转换程序,使用顺序栈设计一个把十进制数转换为十六进制数的接口,实现当通过键盘输入一个非负的十进制数,可以在终端输出对应的十六进制数。 思路: 1.输入一个十进制数num 2.定义一个链表 3.将余数(num%16)放入链表中,再把 阅读全文
摘要:
数据结构算法题 通过键盘输入一个包括 '(' 和 ')' 的字符串string ,判断字符串是否有效。要求设计算法实现检查字符串是否有效,有效的字符串需满足以下条件: A.左括号必须用相同类型的右括号闭合。 B.左括号必须以正确的顺序闭合。 C.每个右括号都有一个对应的相同类型的左括号。 思路: 1 阅读全文