[行路难]——开始漫漫编程路
入门的C
大一学习了C语言课程之后,对编程还是有些兴趣的,用代码解决一些小问题很满足的,尤其是在调试成功没有报出奇奇怪怪的错误的时候。最兴奋的自然是通过了全部的测试样例,感觉整个人飘飘然嘻嘻!回首大一的C语言课程,真的是入门级的简单(除了函数、指针、结构体哈),有些是永恒的难点,不管在哪个领域。
数据结构
一门神奇的课在大二开展,老师把课生动地讲成三部曲:逻辑结构、存储结构、算法,节节如此,课课亦然。开始急于看到所谓的代码功效,不知天高地厚地给老师写了邮件说考虑现场编程,才得知这门课更重要的是思维,此刻突然想复习数据结构了,安排上!第一次上机漏洞百出,不过很感谢老师的讲解,下附心得感悟和部分代码嘻嘻!
- 顺序表逆置:
数据顺序存入数组中,我们逆向输出即可达到逆置效果;
void invert(sequenlist*L)
{for (int i = L->last; i >= 1; i--){printf("%2c", L->date[i]);}printf("\n");
}
- 单链表逆置
开始思考的时候不知从头断还是从尾断,从头断开之后想的是找不到下一个元素了,从未断开之后则找不到上一个元素了。后来也没有想出来,借鉴了同学的代码。
她使用了两个指针,一个依次指向单链表的每一个元素,另一个进行神奇的逆置操作,相当于把相邻元素断开,把后一个元素放到前一个元素前面达到逆置的目的。
这一题中对我来说是头结点的理解不够,链表第一个结点的位置存放在头结点的指针域中,开辟出头结点的位置后要将头结点的指针域先指向空,这两点明白之后才真正理解了头插法;
void invert(linklist *head)
{linklist*p ,*q;p=head->next;head->next=NULL;while (p != NULL){q=p;p=p->next;q->next=head->next;head->next=q;}
}
- 分解单链表
分类标准不难,但是难的是明确指针到底指到了哪里。在学习的时候应该牢记指针指向的是一个地址,不可复制;
//添加按字母、数字、其它字符分解单链表算法
void resolve(linklist*head,linklist*letter,linklist*digit,linklist*other)
{linklist*p=head->next;linklist*pl=letter,*pd=digit,*po=other; while(p!=NULL){if((p->data)>='0'&&(p->data)<='9'){pd->next=p;pd=pd->next;}else if(((p->data)>='a'&&(p->data)<='z')||((p->data)>='A'&&(p->data)<='Z')){pl->next=p;pl=pl->next;insert_head(letter, p);}else{po->next=p;po=po->next;insert_head(other, p);}p=p->next;pl->next=letter;pd->next=digit;po->next=other;}
}
- 判断字符串是否中心对称
在循环的时候要像计算机一样笨笨地演练一遍,检查计数的变量初始值或者进入判断时的值有没有达到预期。
//添加判字符串是否中心对称算法
int symmetry(linklist*head,stack*s)
{linklist*p=head->next;int n=1;int temp=1;//返回值,用1.0表示是否中心对称 while(p!=NULL){if(length(head)%2==0)//字符串为偶数,入栈一半后出栈与后半部分比较 {if(n>length(head)/2){if(p->data!=pop(s))//一旦有一个不等,变量temp置于0 temp=0; }else{push(s,p->data);} n++; }else//字符串为奇数,入栈一半后跳过最中间的数出栈与后半部分比较 {if(n>(length(head)/2)+1){ if(p->data!=pop(s))//一旦有一个不等,变量temp置于0 temp=0; }else if(n<(length(head)/2)+1){push(s,p->data);} n++;}p=p->next;//指向下一个元素 }return temp;
}
BTW,昨天听同学讲了2h的微信小程序前端开发,很敬佩。我知道,一些东西在向我慢慢靠近,而我也在主动的靠近着他们呢。编程路漫漫,请你踏实干!
愿晴空万里,没有暴风雨
[行路难]——开始漫漫编程路相关推荐
- 漫漫编程路,携手共进步
自我介绍 hello,大家好,今天是我在这里写的第一个博客,本人对编程很感兴趣,喜欢通过代码来运行出自己想要的东西的感觉,虽然我并不是什么双一流高校学生,但是,我会在这方面付出更多的心血,而我希望可以 ...
- 编程路漫漫其修远兮,吾将上下而求索
编程路漫漫,其修远兮 第一次使用CSDN写博客的感受 第一次使用CSDN写博客的感受 今天是我第一次写博客,是在学校里写的,心情也可以说是非常的激动,请大家多多关照,共同进步!!!
- 漫漫java路:第一篇 误上贼船
开场白:还是觉得有自我介绍一下的必要,以避免大家把我误认为高手了(其实只是一条可怜的菜青虫!). 本人大懒人一个,2004.7大学毕业(专业:化工).7月第一次参加工作,待遇还不错.可惜天有不测风云, ...
- 我的微软漫漫信仰路【多图】
[2017-06-26 更新,知乎专栏] ---------------------------------------------------------------- [漫漫信仰路之时间轴] 20 ...
- Linux那些事儿 之 戏说USB(2)漫漫辛酸路
USB的一生充满了PK,并在PK中发展,1.0.1.1.2.0,漫漫辛酸路,一把辛酸泪. 这张表是从USB2.0 spec里直接拿过来的,可以看出,它的高速模式最高已经达到了480Mbps,即60MB ...
- 重磅直播|嵌入式开发漫漫之路—从小白到技术骨干
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 大家好,本公众号现已开启线上视频公开课,主讲人通过B站直播间,对3D视觉领域相关知识点进行讲解,并在微 ...
- 漫漫长路十多小时,谁是机上WiFi的“业界良心”?
东航日前开通北美国际远程航线的机上WiFi上网服务,国.海.南.东等四大航以前只限于国内航班的空中上网服务终于挺进有着更高需求的洲际航班.而欧美.中东的主流航空公司,早已将机上WiFi上网当成航班服务 ...
- 框架设计之菜鸟漫漫江湖路系列 三:初入江湖
三:初入江湖 自觉学有所成,入江湖,遇创业帮派,内部私传:SQLHelper+存储过程+绑定列表,杀人于无形 开篇见:框架设计之菜鸟漫漫江湖路系列 开篇,不知不觉这系列停了2年了多..唉!!! 夜深深 ...
- <漫漫Android路>AOSP源码获取编译及问题处理
漫漫Android路---1.AOSP源码获取编译及导入 写在前面 环境准备 AOSP源码获取 1.Repo下载配置 2.Git安装及配置 3.AOSP获取 AOSP源码编译 1.安装编译依赖 2.开 ...
最新文章
- 竞赛人必备的100篇NLP论文
- jdk7启动时报“java.lang.VerifyError:Expecting a stackmap frame at branch target”
- U3D assetbundle打包
- 欢迎使用CSDN-markdown编辑器333333
- 微软发布 VS Code 容器化开发工具,大大简化物联网设备开发
- 2010年一月份兑换公告
- flutter 打开后闪退_vscode 扩展 pubspec 依赖快速打开文档
- bat导出远程oracle数据,windows 任务计划 实现oracle远程 数据库备份
- oracle 中关于 SID db_name、instance_name (转)
- python 指定时间运行代码
- java speex回声消除_android – Speex回音消除配置
- t600显卡和p620哪个好
- iOS小技能: 自定义相机(基础知识储备)
- 系统架构师论文-图书馆网络应用体系安全设计
- 计算机论文 a会 c会,ccf b类论文 sci几区_焦文静_电影学者王田
- 扬州工业机器人外壳设计排名_扬州模型达人设计机器人获奖
- 中国数码纺织印花染料行业运行态势与投资前景预测报告2022-2027
- Coursera普林斯顿大学算法下Week4:Boggle 拼字游戏
- 阜和SAP FICO模块课程
- 一种典型的手机APP远程控制PLC解决方案