![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
wms—天天
这个作者很懒,什么都没留下…
展开
-
PTA 最大子列和问题 (20分)+不定长数组定义
给定K个整数组成的序列{ N1, N2, …, NK },“连续子列”被定义为{ Ni, Ni+1, …, Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同的算法在各种数据情况下的表现。各组测试数据特点如下:数据1:与样例等价,测试基本正确性;原创 2020-08-13 19:06:07 · 163 阅读 · 0 评论 -
PTA单链表逆转
单链表逆转List Reverse( List L ){ //L1->Data=1,L2->Data=ALL; List L2,L1; L2=L; L=NULL; while(L2){ L1=L2; L2=L2->Next;//L2指向下一个元素 L1->Next=L;//L后移一个元素 L=L1;//下一个元素指向开头 } return L; }原创 2020-08-09 19:32:05 · 509 阅读 · 0 评论 -
PTA 求二叉树高度 (20分)
思路:二叉树的深度和它的左、右子树深度之间的关系。从二叉树深度的定义可知,二叉树的深度应为其左、右子树深度的最大值加1。由此,需先分别求得左、右子树的深度,求得左、右子树深度的最大值,然后加 1 即为二叉树的高度;可以递归的调用二叉树深度函数。int GetHeight(BinTree BT){ int high=0;//节点总数 int depthleft,depthright; if(BT==NULL){ return 0; }else{ ...原创 2020-08-05 23:07:59 · 2919 阅读 · 1 评论 -
PTA 二叉树的遍历 (25分)
本题要求给定二叉树的4种遍历。函数接口定义:void InorderTraversal( BinTree BT );void PreorderTraversal( BinTree BT );void PostorderTraversal( BinTree BT );void LevelorderTraversal( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;str原创 2020-08-05 19:50:28 · 2384 阅读 · 0 评论 -
PTA 二分查找 (20分)
按照题目要求我们采用非递归的方式进行:设置low、mid、high三个指针;low小于等于high作为while循环的结束条件(注意定要有等于号,我一开始在这个地方犯了错误)。例如数组1234中找到4,如下图:step1:step2:那么到此处,如果low=high我们不进一步做判断,会return Notfound,与实际结果不吻合。Position BinarySearch( List L, ElementType X ){ int low,mid,high; low=1;hi原创 2020-08-04 22:34:34 · 1710 阅读 · 0 评论 -
PTA 双端队列 (25分)
双端队列(deque,即double-ended queue的缩写)是一种具有队列和栈性质的数据结构,即可以(也只能)在线性表的两端进行插入和删除。若以顺序存储方式实现双端队列,请编写例程实现下列操作:Push(X,D):将元素X插入到双端队列D的头;Pop(D):删除双端队列D的头元素,并返回;Inject(X,D):将元素X插入到双端队列D的尾部;Eject(D):删除双端队列D的尾部元素,并返回。基本分析:1.双端队列必定是个循环队列,判断队空、队满、front和rear加减的时候,注意原创 2020-08-02 12:02:00 · 929 阅读 · 0 评论 -
关于指针数组和二维数组的区别&&抽签小程序
之前人家写的抽签小程序都是要设置随机变量,第一先设置srand()种子,第二令number=rand();我觉得既然是伪随机,不如让我通过键盘控制好了;int main(){ char *pre[]={"a","b","c","d","e","f"}; while(!kbhit()){ //该函数主要检测是否按下一键,若按下返回0,没有按返回1值。 printf("%s...原创 2020-03-12 11:58:09 · 250 阅读 · 0 评论 -
关于C语言指针的理解及应用(相邻指针之差为1)
@关于C语言指针的理解及应用(相邻指针之差为1)c语言中,如果定义指针变量,无论所指向的结构体的大小为多少,相邻指针变量之间的差为1;例如:定义结构体typedef struct { bitree data[50]; int top;}stack;我们设置指针变量m和q,m和q相邻,则m和q的差为1; stack *m; stack *q; q=m+1; printf("o...原创 2020-03-11 17:04:20 · 331 阅读 · 0 评论