![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
在hust快乐的学习
希望通过CSDN这个平台认识更多志同道合的朋友!
实现共同进步!
展开
-
最大子序列和问题
问题描述:给定一个整数序列,a0, a1, a2, …… , an(项可以为负数),求其中最大的子序列和。如果所有整数都是负数,那么最大子序列和为0;例如:对于序列-2, 11, -4, 13, -5, –2。 所求的最大子序列和为20(从11到13,即从a1到a3)。用于测试下面代码的的主函数代码如下:(注意要更改调用的函数名)int main(int argc,原创 2012-09-07 21:52:53 · 16854 阅读 · 9 评论 -
身份证号码合法性判断
问题描述: 我国公民的身份证号码特点如下:1、长度为18位;2、第1~17位只能为数字;3、第18位可以是数字或者小写英文字母x。4、身份证号码的第7~14位表示持有人生日的年、月、日信息。例如:511002198808080111或51100219880808011x。 请实现身份证号码合法性判断的函数。除满足以上要求外,需要对持有人生日的年、月、日信息进行校原创 2014-07-22 21:27:49 · 12381 阅读 · 0 评论 -
将一个字符串的元音字母复制到另一个字符串,并排序
问题描述:有一字符串,里面可能包含英文字母(大写、小写)、数字、特殊字符,现在需要实现一函数,将此字符串中的元音字母挑选出来,存入另一个字符串中,并对字符串中的字母进行从小到大的排序(小写的元音字母在前,大写的元音字母在后,依次有序)。说明:1、元音字母是a,e,i,o,u,A,E,I,O,U2、筛选出来的元音字母,不需要剔重 最终输出的字符串,小写元音字母排在前面,大写元原创 2014-07-22 19:28:48 · 8576 阅读 · 0 评论 -
简易操作系统任务调度问题
操作系统任务调度问题操作系统任务分为系统任务和用户任务两种。其中,系统任务的优先级=50且例如:task[]={0,30,155,1,80,300,170,40,99},system_task[]={0,3,1,7,-1},user_task[]={4,8,2,6,-1}函数接口:void scheduler(int task[], int n, int system_task[],原创 2014-07-23 11:16:41 · 1595 阅读 · 0 评论 -
判断5张扑克牌的组成
一副牌中发五张扑克牌给你,让你判断数字的组成:有以下几种情况:1:四条:即四张一样数值的牌(牌均不论花色)2:三条带一对3:三条带两张不相同数值的牌4:两对5:顺子(包括10,J,Q,K,A)6:什么都不是7:只有一对 分析:应该不包含大小王,另外J、Q、K、A分别相当于11、12、13、14,虽然从2到A一共是13张牌,但是为了方便对应,使用了一个包含15原创 2014-07-22 10:43:13 · 8723 阅读 · 0 评论 -
约瑟夫环问题
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。C代码如下:#include#include#includetypedef struct _node{ struct _node* next;原创 2014-07-20 13:53:41 · 17007 阅读 · 4 评论 -
判断手机号码合法性
问题描述:我国大陆运营商的手机号码标准格式为:国家码+手机号码,例如:8613912345678。特点如下:1、长度13位;2、以86的国家码打头;3、手机号码的每一位都是数字。 请实现手机号码合法性判断的函数要求:1)如果手机号码合法,返回0;2)如果手机号码长度不合法,返回13)如果手机号码中包含非数字的字符,返回2;4)如果手机号码不是以86打头的,返原创 2014-07-20 14:46:28 · 27840 阅读 · 0 评论 -
约瑟夫环的变形
问题描述:输入一个由随机数组成的数列(数列中每个数均是大于0的整数,长度已知),和初始计数值m。从数列首位置开始计数,计数到m后,将数列该位置数值替换计数值m,并将数列该位置数值出列,然后从下一位置从新开始计数,直到数列所有数值出列为止。如果计数到达数列尾段,则返回数列首位置继续计数。请编程实现上述计数过程,同时输出数值出列的顺序。比如:输入的随机数列为:3,1,2,4,初始计数值原创 2014-07-21 11:43:39 · 2081 阅读 · 0 评论 -
简单四则运算
问题描述: 输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值注:1、表达式只含 +, -, *, / 四则运算符,不含括号2、表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况3、要考虑加减乘除按通常四则运算规定的计算优先级4、除法用整数除法,即仅保留除法运算结果的整数部分。比如8/3=2。输入表达式保证无0作为除数情况发生5、输入字符串一原创 2014-07-20 21:40:17 · 5815 阅读 · 0 评论 -
Linux 内核 hlist 详解
在Linux内核中,hlist(哈希链表)使用非常广泛。本文将对其数据结构和核心函数进行分析。和hlist相关的数据结构有两个:hlist_head 和 hlist_node//hash桶的头结点struct hlist_head { struct hlist_node *first;//指向每一个hash桶的第一个结点的指针};//hash桶的普通结点struct hl原创 2014-04-27 19:14:11 · 31232 阅读 · 4 评论 -
AVL 平衡二叉树的实现
平衡二叉树的定义:平衡二叉树或者是一棵空树,或者是具有以下性质的二叉排序树:平衡二叉树的左子树和右子树的深度之差小于等于1,且左子树和右子树也是平衡二叉树。二叉排序树的定义:二叉排序树或者是一棵空树,或者是具有以下性质的二叉树:1、若任意结点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;2、任意结点的右子树不空,则右子树上所有结点的值均大于它的根结点的值原创 2014-04-25 21:37:51 · 1896 阅读 · 2 评论 -
去掉连续重复的字符
写一个简单的程序,处理一个c字符串,去掉连续重复的字符,原字符串可以不保留,比如abbccdaaae 转换成abcdae。可以分配新的内存,但尽量不要分配过多内存。注意连续重复二字,如果不连续,比如例子中的a。原创 2014-09-21 20:56:30 · 2067 阅读 · 0 评论