笔记
文章平均质量分 73
_羊子_
初来乍到,请多指教!
展开
-
笔记2:结构体的概述与使用
1、结构体的声明声明一个结构体类型一般形式:struct 结构体名{结构体所包含的成员变量;};例: struct stu{char name[20];Int age; }; 2、定义结构体的类型变量例:struct stu s1,s2;struct stu{char name[20];Int age; }s1,s2;原创 2017-07-22 20:43:52 · 188 阅读 · 0 评论 -
笔记8:二叉树
二叉树的定义:二叉树是由 n ( n ≥0 ) 个结点组成的有限集 合,该集合或者为空,或者是由一个根结点加 上两棵分别称为左子树和右子树的、互不相交 的二叉树组成。程序如下:#ifndef __BTREE_H__#define __BTREE_H__#define BLEFT 0 // 表示插入二叉树的左边#define BRIGHT 1 // 表示插入二叉原创 2017-08-06 20:05:35 · 203 阅读 · 0 评论 -
笔记7:树
1、树的定义:树是一种非线性的数据结构树是由 n ( n ≥0 ) 个结点组成的有限集合如果 n = 0,称为空树;如果 n > 0,则:有一个特定的称之为根(root)的结点,它只有直接后继,但没有直接前驱。除根以外的其它结点划分为 m (m ≥0) 个互不相交的有限集合T0,T1,…,Tm-1,每个集合又是一棵树,并且称之为根的子树。2、原创 2017-08-06 20:01:59 · 209 阅读 · 0 评论 -
笔记1:函数的概述与递归函数
1、函数的概述函数(Function)是一段可以重复使用的代码,除了C语言自带的函数,我们也可以编写自己的函数,称为自定义函数。函数三要素: ①返回值:由关键字 return 进行返回; ②函数名;由数字、字母、下划线组成,不能以数字开头; ③函数参数。放在括号 () 内,每一个参数之间用逗号原创 2017-07-21 20:02:37 · 257 阅读 · 0 评论 -
几种常见的排序(二)
1、希尔排序#include void swap (int *a, int i, int j){ int tmp; tmp = a[i]; a[i] = a[j]; a[j] = tmp;}void printfA (int *a, int len){ int i; for (i = 0; i < len; i++) { printf ("%4d", a[i])原创 2017-08-06 19:08:35 · 163 阅读 · 0 评论 -
笔记3:栈
栈的定义: 只允许在一端插入和删除的线性表; 允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。栈的特点: 后进先出 (LIFO)。1、顺序栈#ifndef __SQSTACK_H__#define __SQSTACK_H__#include "error.h"#define TRUE 1#define FALSE 0#de原创 2017-07-28 20:41:44 · 179 阅读 · 0 评论 -
几种常见的排序(一)
1、冒泡排序:冒泡排序是一种极其简单的排序算法,也是我所学的第一个排序算法。它重复地走访过要排序的元素,依次比较相邻两个元素,如果他们的顺序错误就把他们调换过来,直到没有元素再需要交换,排序完成。这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端。 冒泡排序算法的运作如下: ①比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。②对每一对相邻元原创 2017-08-04 17:40:16 · 379 阅读 · 0 评论 -
笔记6:链表(三种:头指针、头结点、头结点循环)
1、头指针链表#include #include #define TRUE 1#define FALSE 0typedef int LinkData; // 链表的数据类型typedef struct _node{ LinkData data; // 链表的数据 struct _node *next; // 指向链表下一个结点的指针}N原创 2017-08-03 20:35:50 · 419 阅读 · 0 评论 -
笔记5:顺序表
#ifndef __SEQLIST_H__#define __SEQLIST_H__#define FALSE -1#define TRUE 0#define INIT_SIZE 100#define INCRESS_SIZE 20 typedef int SeqData;// 顺序表结构typedef struct _seqList{ SeqDa原创 2017-08-02 19:39:21 · 188 阅读 · 0 评论 -
笔记10: 进程控制的基本概念
1、进程(1)进程狱程序的区别 程序是放到磁盘的可执行文件。 进程是指程序执行的实例。(2)进程的地址空间分配给每个进程的内存(memory)由一系列段(segments)组成: ①text segment(代码段) 包含机器语言指令。通常是只读的、共享的。 ②initialized data segment(初始化数据段原创 2017-08-09 19:45:53 · 412 阅读 · 0 评论 -
头结点链表的三种插入结点方式
1、头文件(.h)#ifndef __LINKLIST_H__#define __LINKLIST_H__#define FALSE 0#define TRUE 1typedef int LinkData;typedef struct _node{ LinkData data; struct _node * next;}Node;// 创建链表Node * Cre原创 2017-07-25 20:36:23 · 1387 阅读 · 0 评论 -
笔记4:队列
1、顺序队列#ifndef __SQQUEUE_H__#define __SQQUEUE_H__#include "error.h"#define TRUE 1#define FALSE 0#define SIZE 10typedef int QueueData;typedef struct _queue{ QueueData data[SIZE]; int fron原创 2017-08-01 21:00:48 · 138 阅读 · 0 评论 -
笔记9:Linux 文件系统编程
1、什么是系统调用所有的操作系统都提供多种服务的入口点,程序由此向内核请求服务。这些可直接进入内核的入口点被称为系统调用。2、什么是文件文件是系统资源(内存、硬盘、一般设备、进程间通信的通道等)的一个抽象。对系统资源进行访问的一个通用接口。普通文件一般意义上的文件,作为数据存储在磁盘中,可以随机访问文件的内容。Linux系统中的文件是面向字节的,原创 2017-08-07 19:33:56 · 528 阅读 · 0 评论 -
C语言中指针的一些易错点!
1、字符数组与字符串的使用注意:数组名是指向数组首个元素的地址。先看个例子:#include int main(){ char *str = "hello"; int len = strlen(str); int i; //直接输出字符串 printf("%s\n", str); //使用*(str+i) for(i=0;原创 2017-07-19 17:56:13 · 2385 阅读 · 0 评论 -
笔记11:进程控制编程
1、获取进程的id头文件:#include #include 函数原型:获取本进程IDpid_t getpid(void)获取父进程IDpid_t getppid(void)获取用户IDpid_t getuid(void)例:#include #include #include int main(){ pr原创 2017-08-11 19:44:52 · 281 阅读 · 0 评论