
沙僧取金:第一站 Linus c
AngryChar
这个作者很懒,什么都没留下…
展开
-
选择排序和冒泡排序
本人新手,写博客的主要目的是为了在学习的途中,记录自己每天的痕迹,以便提高。若有大神发现问题,请积极指出指点,但请不要喷,谢谢。1冒泡排序我没有选择使用函数,而是分成了一个个程序去写,一是因为函数我自己本来也不熟练,二是感觉分开来写更加的清晰1,冒泡排序1/* *2017年7月11日17:28:13 *目的:冒泡排序1 (以增序为列) *思路:**这种冒泡原创 2017-07-11 22:57:38 · 327 阅读 · 0 评论 -
小小项目:1简易通讯录
今天做了个项目,第一次,问题可能比较多。写的也比较不规范,以后经量该。先是头文件#ifndef __LinkList_H__#define __LinkList_H__#define FALSE -1#define TRUE 0typedef struct LinkData //结构体存数据{ int id; char name[15]; c原创 2017-07-25 19:53:18 · 819 阅读 · 0 评论 -
进程型号量一些简单非封装函数
这几天学的焦头烂额,加油.#ifndef __SEMAPHORE_H__#define __SEMAPHORE_H__//控制信号量 semctl 用于初始化和删除 operate(操作)#include #include #include //操作信号量 semop 用于P操作和V操作 control(控制)#include #include #include原创 2017-08-17 11:12:30 · 270 阅读 · 0 评论 -
进程和相关函数学习
昨天学了进程控制,信息量实在有点大,好多都没有接触过。今天分享我今天查的几个函数,头文件我就不写了,man里面都有。先说明一下,下面的都是我自己的认识,我接触这几个函数也就一天左右,里面肯定有很多错误,希望大神不要见怪。umask mode_t umask (mode_t mask);umask是Linux中的一个命令,也有一个同名函数。网上都说函数用的多一点,我这边原创 2017-08-10 10:09:14 · 307 阅读 · 0 评论 -
经典:生产者消费者模型
首先是用信号量实现的#include #include #include #include #include //信号量和缓冲区struct data{ sem_t producer; //用来控制生产者,只有缓冲区为空,生产者才可以生产消息 sem_t customer; //用来控制消费者,只有缓冲区有数据,才可以消费 char buf[32]; //缓冲区原创 2017-08-17 14:31:53 · 333 阅读 · 0 评论 -
实现守护进程
系统有这个函数,叫daemom,我进行了模拟手动实现#include #include #include #include #include #include int daemonize(int nochdir,int noclose);{ //创建子进程,关闭父进程 int pid = fork(); if(pid > 0) { exit(0); } if(pi原创 2017-08-10 14:04:32 · 317 阅读 · 0 评论 -
排序:插入,希尔,堆,快速,归并排序
这几天把学到的几种排序整理了一下。除了之前发过的冒泡和选择,别的我都发出来了。首先是插入排序/*2017年8月3日19:12:27目的 : 插入排序 (升序)*/#includevoid insertsort(int *a, int len){ int i,j; //i表示第几个元素插入到前已经排序好的数组中 //j表示从i前面一个开始找i应该被插入的位置原创 2017-08-04 15:32:52 · 453 阅读 · 0 评论 -
数据结构:数组栈
这几天博客拖了几天,不是因为偷懒。实在是太忙了,又是数据结构整理,又是项目的联习。不多说,我把栈和队列的几种形式整理实现了一下。还是看代码吧。强调一下,主函数的验证我就不发了,我写的报错函数也只在这一篇里面留,后面都是一样的,就不发了。若有错误,我以后修改。先是头文件#ifndef __SQSTACK_H__#define __SQSTACK_H__#define FAL原创 2017-07-28 22:20:13 · 421 阅读 · 1 评论 -
数据结构:链表栈
头文件#ifndef __LINKSTACK_H__#define __LINKSTACK_H__#include "error.h"#define FALSE 0#define TRUE 1typedef int stack_data;typedef struct stack_node{ stack_data data; struct stack_node *l原创 2017-07-28 22:30:45 · 315 阅读 · 0 评论 -
数据结构:数组队列
头文件#ifndef __SQQUENUE_H__#define __SQQUENUE_H__#define FALSE 0#define TRUE 1#define SIZE 10typedef int Queue_data ;typedef struct _queue{ Queue_data data[SIZE]; int front; //定义头 in原创 2017-07-28 22:32:04 · 347 阅读 · 0 评论 -
数据结构:链表队列
这是今天最后一个数据结构了,这几天学下来感觉这个还是挺难的。数据结构是各种语言的核心,练的的内在,而内功是最不能速成的,以后一定要不断琢磨。头文件#ifndef __LINKQUEUE_H__#define __LINKQUEUE_H__#define FALSE 0#define TRUE 1typedef int QUEUEDATA;typedef struct _no原创 2017-07-28 22:34:40 · 436 阅读 · 0 评论 -
小小项目2:多项式四目计算器
这是这两天写的第二个项目,准确的来书我还没有完全掌握,很多地方都是借鉴的老师讲的和网上一些代码。而且这个程序我写了很多头文件和函数文件,还不怎么好发。我整理了一下,决定就发几个头文件和几个核心函数。先是主函数#include#include#include"NumStack.h"#include"CharStack.h"#include"judge.h"#include"er原创 2017-07-28 22:43:32 · 303 阅读 · 0 评论 -
管道方式实现文件复制
这几天学的很多,缺几乎都是零散的,琐碎的,不成文的.想不出来发什么,就随便发几个小程序吧.文件复制 1命名管道父子进程实现的文件复制#include #include #include #include #include #include #define SIZE 1024void childe_do(){ //创建被复制文件 int fd1 = open("2原创 2017-08-14 19:12:16 · 1262 阅读 · 0 评论 -
以卖票为列的共享内存和信号量的学习
经典桥段:李老师卖票1 通过共享内存实现//shmid 创建并获取共享内存#include #include //shmat 映射共享内存 解除映射#include #include //删除共享内存 #include #include #include #include #include typedef struct _shm{ int flag原创 2017-08-14 19:14:46 · 382 阅读 · 0 评论 -
小小项目4:贪吃蛇
最近好久没有写博客了,主要忙于网络编程的学习和聊天室项目的编写,怕忘了这个好习惯,只能拿点以前的东西了/**********************************************time : 2017年8月10日16:04:59filename: snack_1.cmaker: Leoexplain:little sncak game******************原创 2017-08-26 10:09:17 · 463 阅读 · 0 评论 -
结课项目:聊天室
有一阵子没写博客了,这个项目写到这,我觉得有必要记录一下了.中间有很多无用的备注,思路和格式也写的不是很好,没办法,水平有限.在关于传输文件方面,还有一些不可预知的错误,暂时我还没有发现原因,只能减缓传输速度来降低这种错误出现的概率.超级用户还没有写,不过功能也不算少了.优先头文件/******************************************************原创 2017-09-14 17:12:21 · 2251 阅读 · 0 评论 -
数据结构:头结点线性链表
这两天在学习数据结构,很难,无暇顾及,很难坚持一天一篇了。今天我研究的是头结点线性链表,我写了个头文件和.c文件,里面有链表的创造消除和一些基本的使用,方便以后用。昨天发现我上次写的顺序表非常不标准,这次我做足了功夫,以后要是有机会,我把前面的也改了。这次我没有发主函数,因为主函数在我调试的时候已经改的面目全非,留下了也没有什么意义。以后的代码都会很长,写完特有成就感。明天开始要做原创 2017-07-24 23:18:00 · 702 阅读 · 0 评论 -
小小项目3:停车场管理
这个项目没有什么实际意义,关键是为了体验栈和队的实际使用 。我就发个主函数和关键几个函数。先是栈和队列的头文件/*本题我需要一个栈和一个队列栈用来停车和让车队用来候车*/#ifndef __STACKQUEUE_H__#define __STACKQUEUE_H__#include"error.h"#define SIZE_MAX 2//停车信息typedef原创 2017-08-02 09:08:08 · 707 阅读 · 0 评论 -
前自增的学习和自我探讨
今天是第二天,本来想敲两个上课讲的代码,正好那两个以前也没有见过。最后还是决定选择了自增。谁叫这玩样二级必考呢。自增分两种,前自增和后自增。哪个写在前面就优先运算哪个。我用Linus 红帽 和 Windows 的VC++6.0中试过,结果都一样。我这主要对前自增bugg级别的探讨,(虽然没什么用),最后一句话,自增的本意不是预算,劲量不要用在预算中。C 前自增的自我学习/* *原创 2017-07-12 19:48:19 · 390 阅读 · 0 评论 -
偷懒的一天
今天实在是太累了,早上从苏州跑到南京,下午又回来。晚上还在弄我房间里的泡沫板,学校那边请假了。 实在世没什么时间敲代码,但是一天一篇博客还是要的,今天我就分享几个以前上课讲的代码,方便我以后复习。/* * 2017年7月13日21:59:46 * 用switch 语句实现简单的计算器功能(要求从键盘输入操作数和运算符)。 * */#include原创 2017-07-13 22:21:44 · 417 阅读 · 1 评论 -
猴子选大王
这个题我今天还没看懂,希望明天肯定能看懂#include int main(){int n;printf("输入人数:\n");scanf("%d",&n);int a[1000]; int i,temp;int count = 0;temp = n; for(i = 0;i {a[i] = i+1;}i = 0转载 2017-07-15 22:39:04 · 514 阅读 · 0 评论 -
字符串英文的倒置输出
今天学习了指针。感觉好乱,明天一定要看懂。/* * 2017年7月16日15:21:17 * 实现英文的倒叙,但是单词内容不到序。 * */#include#include void change(char *p,char *q){int tmp;while(p{ tmp = *p;*(p++) = *q;*(q原创 2017-07-16 22:47:27 · 597 阅读 · 0 评论 -
string.h头文件中局部函数的自我编写,简易版
今天我写的是strcpy,strncpy,strcat,strncat,strcmp,strncmp这六个函数的自我编写,没有考虑多余情况,自我感觉还行,就是最后为了方便检查去,却没有方法对字符串重置,硬生生定义了十几个数组。有点尴尬之外,感觉还是不错的。/* * 2017年7月17日15:31:42 * 实现不调用string.h的头文件下,写几个函数使得主函数可以使原创 2017-07-17 19:22:35 · 358 阅读 · 0 评论 -
数据结构:二叉树
头文件#ifndef __BTREE_H__#define __BTREE_H__ #define LCHILD 0#define RCHILD 1#include"error.h"typedef char BTREEDATA;typedef struct _btreenode{ BTREEDATA data; struct _btreenode *lchild;原创 2017-07-31 09:42:47 · 329 阅读 · 0 评论 -
位运算学习
今天这个位运算搞了我半天,总算弄明白了。虽然感觉用的不多,但对计算机每一位的操作也是一种能力。/* * 2017年7月21日16:20:38 4.题目:输入一个整数a,再输入两个整数p(p<32),v(0|1), 将该整数a的p位设置为v,输出修改后的该整数的二进制表示. * */#includevoid change(int *p,int n,int v){原创 2017-07-21 22:01:54 · 283 阅读 · 0 评论 -
简单的学生排序系统
这个代码我打了一个多小时,学了几天,试着打打,自我感觉还行。明天接着代码之旅里面用到了我最经学的几个关键字和动态内存分配,我尽可能把我会的都放进去了,毕竟目的不是结果,是过程。/*2017年7月20日22:06:52写一个简单的学生输入成绩后的排序输出需要输入学生姓名,学号,和成绩以及学生人数*/#include//#include#include原创 2017-07-20 23:27:08 · 575 阅读 · 0 评论 -
数据结构:一般树
这是我学了这么多天感觉最难的,用了两个链表进行嵌套。思路:先用一个链表保存所有树结点,由于不知道每个树有多少子节点,就再用一个链表保存子节点的位置。数据结构的课是上完了,但是肯定还是不够的,以后我还会在整理。但是近期就难说,逼近我还有下面的课程。头文件#ifndef __TREE_H__#define __TREE_H__ #include"error.h"struct原创 2017-07-31 11:56:55 · 414 阅读 · 0 评论 -
李白打酒
今天学的函数,好难啊 ,加油/* * 2017年7月18日15:06:03 * 题目:李白打酒 * 李白走在路上,准备去打酒,遇店翻一倍,遇花喝一斗。 * 本来有两斗酒,一共遇到五次店,十次花,最后一次遇到花,正好喝完。 * 问有几种可能性 * */#include int count ;void libai1(int shop,int fl原创 2017-07-18 21:54:39 · 323 阅读 · 0 评论 -
数据结构:顺序表
今天学习数据结构,差点没把我绕死。搞到半夜终于搞好了,自制了一个顺序表,今天的代码有点长。先发头文件 #ifndef _SEQUENCE_H_#define _SEQUENCE_H_#define INTO_SIZE 100 //表示表的初始长度#define INADD_SIZE 20 //表示如果表长度不够,要增加的长度 #define FA原创 2017-07-23 01:10:08 · 516 阅读 · 0 评论 -
函数的学习
今天学习了函数,老规矩,留一个我最满意的代码。/* * 2017年7月19日09:49:21 * 5.输入一个字符串,同时输入帧头和帧尾(可以是多个字符), * 将该字符串中合法的帧识别出来. * 提示:帧头和帧尾分别是head和tail * 字符串”asdheadhauboisoktail”中headhauboisoktail是合法帧 * */#inc原创 2017-07-19 22:07:00 · 295 阅读 · 0 评论 -
文件编译初学习
这两天博客都没则么更新,倒不是因为我懒了,实在是没什么拿得出手的。对我来说,文件编译这几个函数都是新知,所以所写与所学都是些初步理解。这些东西,知道了也就只是了解了,也就是些简单的试用,咋么好意思发出去呢。正真的学习,是要在实践中一步一步探索的,绝不是我这样寥寥一试。但是我也没有办法,也许是我学的慢吧,这几天我就看了这么多。罢了,我写博客的初衷是为了记录我的学习过程,也就没那多不好意思了。原创 2017-08-08 11:09:08 · 422 阅读 · 0 评论 -
课后习题:简单文件的相加
这两天还做了几件事: 1. 把我的排序敲了好几遍准备近期在巩固一下,顺便研究一下排序在链表中的不同之处2. 追加通讯录的保存到文件中的功能由于就加了两个函数,这里我就不发了3. 终于把陈正冲老师的《c语言深度解剖》看完了 说这话实在是吹牛了,这书看了大半月了,还有一两章没看,写在这,就是给自己下个誓,今天必须看完。陈老师的书写的很深刻,有好多地方我都看不懂,奈原创 2017-08-08 12:37:32 · 410 阅读 · 0 评论 -
数据结构:环形链表
自己写了个环形链表,就当链表的复习了。头文件#ifndef __RINGLIST_H__#define __RINGLIST_H__#define FALSE 0#define TRUE 1typedef int RINGDATA;typedef struct _ringlist{ RINGDATA data; struct _ringlist *next;原创 2017-08-02 08:54:25 · 757 阅读 · 0 评论 -
C++ STL 常用算法
STL算法太多了, 我这里整理几个常用的#include #include #include #include #include #include #include using namespace std;void printC(vector &v){ for(vector::iterator it = v.begin(); it<v.end(); it++) {原创 2017-10-10 14:32:52 · 606 阅读 · 0 评论