- 博客(20)
- 收藏
- 关注
原创 进程的调度算法
决策模式非抢占 : 一旦进程处于运行状态,它就会一直执行到终止,或者为等待I/O或请求某些操作系统服务而阻塞自己抢占 : 当前正在运行的进程可能被操作系统中断并转移到就绪状态.先来先服务(FCFS)先来先服务(FCFS)是最简单非抢占的算法,也称为先进先出(Frist-In-Frist-Out, FIFO)或严格排队算法.当每个进程就绪后,加入就绪队列.当前进程停止执行时,就会运行就绪...
2019-05-31 16:32:05 549
原创 Linux文件权限
Linux权限概念Linux下有两种用户:超级用户(root) : 可以在Linux系统下左任何事情,不受限制普通用户 : 在Linux下做有限的事情root用户的命令提示符是’#’, 普通用户的命令提示符是’$’命令 : su [用户名]功能 : 切换用户Linux权限管理1. 文件访问者的分类文件所有者 : u — user文件所有者所在组的其他用户 : g — gr...
2019-05-30 15:37:15 127
原创 单链表
何为链表链表,物理地址不连续,并且不是顺序存储的结构,数据的逻辑顺序通过链表中的指针链接实现链表有很多种可以按照以下情况随意组合:单向, 双向带头节点, 不带头结点循环, 非循环常用的链表有两种:无头单向非循环链表: 结构简单, 一般不单独存储数据, 而是作为其他数据结构的子结构.带头双向循环链表: 结构最复杂, 用来单独存储数据.下面实现的是第一种链表的定义type...
2019-04-26 14:20:31 127
原创 顺序表
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储顺序表一般有两种:静态顺序表 : 使用定长数组存储动态顺序表 : 使用动态开辟的数组存储下面是动态顺序表的实现以及一些接口函数定义typedef int SLDataType; // 顺序表存储的数据类型// 顺序表typedef struct SeqList{ //SLDataTyp...
2019-04-23 11:22:20 111
原创 时间复杂度和空间复杂度
如何衡量一个算法的好坏,算法的好坏分析分为两种:时间效率和空间效率.时间效率被称为时间复杂度,空间效率被称为空间复杂度,由于计算机的快速发展,计算机的存储容量已经达到了很高的程度,所以现今已经不需要特别关注一个算法的空间复杂度.时间复杂度概念 算法中的基本操作的执行次数,为算法的时间复杂度.时间复杂度却用操作执行的次数作为评判标准,这是因为在不同配置的机器上同一算法的运行时间是不同的,这...
2019-04-22 14:09:00 159
原创 C语言自定义类型
结构体结构体声明声明时,必须列出它包含的所有成员.struct tag { member-list } variable-list;例如struct Student { int number; // 学号 char name[1024]; // 姓名 int age; // 年龄 int high; // 身高} student;成员结构体的成员可以是标量,...
2019-04-21 18:07:23 169
原创 C语言模拟通讯录
通讯录最主要的就是需要保存联系人的姓名,电话号码.所以定义联系人信息的结构体// 联系人信息typedef struct ContactInfo { char name[1024]; char phone_number[1024];} ContactInfo;联系人有多少也不一定,所以用一个动态顺序表存储所有联系人// 通讯录typedef struct AddressBook ...
2019-04-21 16:44:46 674
原创 C语言文件操作
FILE 是一个数据结构,用于访问一个流,每一个流都有一个相应的 FILE 与它关联.打开一个特定的文件FILE *fopen (const char *name, const char *mode);该函数打开一个特定的文件,并把一个流和这个文件相关联. 函数执行成功,返回一个指向 FILE 结构的指针,函数执行失败,返回一个 NULL 指针, erron 会提示问题的性质,执行该函数...
2019-04-21 15:07:28 102
原创 C和指针课后练习第六章
1.编写一个函数,它在一个字符串中搜索,查找所有在一个给定字符集合中出现的字符// 查找source中匹配chars中字符的第一个字符并返回指向这个字符的指针const char *find_char(const char *source, const char *chars) { // 指针为空或字符串为空字符串 if (source == NULL || chars == NULL |...
2019-04-09 16:02:26 997 4
原创 C和指针课后练习第五章
1.从标准输入读取字符并输出,大写字母字符转小写字母字符,其他字符不变// 将大写字母转换为小写字母char ToUp(char ch) { if (ch < 'A' || ch > 'Z') { // 不在A~Z之间的字符直接输出 return ch; } char a = 'a'; return ch + 32;}2.从标准输入读取字符并输出,非字母字符直接...
2019-04-05 16:49:15 617 1
原创 C语言扫雷
游戏主体游戏的执行过程,// 玩家看到的地图, 保存有地雷位置的地图, 地图数组的行边界, 地图数组的列边界, 该局生成的地雷数void Game(char* show_map, char* mine_map, int max_row, int max_col, int number_of_mines) { InitMap(show_map, max_row, max_col); ...
2019-04-01 11:06:27 581
原创 井字棋
主要流程定义成有返回值类型是因为在主函数里统计胜负用的,当然,电脑没有AI,只要你不让,就不会输//游戏主体char Game() { InitBoard(); char result; while (1) { system("cls"); PrintBoard(); //打印棋盘/打印电脑落子 PlayerDrop(); //玩家落子 result = Win...
2019-03-29 13:07:19 442
原创 递归练习
1.递归和非递归分别实现求第n个斐波那契数//递归方法求斐波那契int FibRec(int n) { if (n < 1) { return -1; } if (n == 1 || n == 2) { return 1; } return FibRec(n - 1) + FibRec(n - 2);}//非递归求斐波那契int FibNoRec(int n) ...
2019-03-28 19:14:51 107
原创 练习3_27
主要练习函数1.输出乘法口诀表//输出 n * n 乘法口诀表void PrintMul(int n) { if (n < 1) { //n < 1,不输出 return; } for (int row = 1; row <= n; row++) //输出乘法口诀表 { for (int col = 1; col <= row; col++) p...
2019-03-27 21:22:14 112
原创 C和指针课后练习第四章
1.计算获得n的平方根//求正数的平方根double Square(double n) { if (n <= 0) { return -1; //未能求取 } double result = 1; double tmp; do { tmp = result; result = (tmp + n / tmp) / 2; //精度小于0.01返回结果,或的条件是第一次...
2019-03-27 20:04:01 727 1
原创 练习3_25
1.猜数字(1~100)//初始化界面void InitGame() { printf("*****************************************\n"); printf("********** 1.开始 ***** 0.退出 **********\n"); printf("*****************************************\n"...
2019-03-25 11:17:32 86
原创 练习3_24
1.输出图案/*/***/*****/*******/*********/***********/*************/***********/*********/*******/*****/***/*(没有’/’)//输出图案,n表示输出n行void printfGrap(unsigned int n) { int len = 1, //每行的长度 ...
2019-03-24 10:06:29 101
原创 练习3_22
1.交换大小相同的字符数组内容//交换两个大小相同的字符数组内容void arrSwap(char arr1[], char arr2[]) { int len = strlen(arr1); char tmp; for (int i = 0; i < len; ++i) { tmp = arr1[i]; arr1[i] = arr2[i]; arr2[i] = tmp...
2019-03-23 12:31:49 74
原创 C和指针课后练习第二章
1.//包含在increment.c中int increment(int x) { return x + 1;}//包含在negate.c中int negate(int x) { return 0 - x;}//主程序包含在main.c中extern int increment(int x);extern int negate(int x);int main() {...
2019-03-18 15:12:32 285
原创 C和指针课后练习第一章
1.Hello World!int main(){ printf("Hello World!\n"); system("pause"); return 0;}2.读取输入,打印输出int main(){ int ch; int flag = 1; int line = 1; while ((ch = getchar()) != EOF) //EOF -1 { if...
2019-03-15 19:57:19 248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人