程序
Uhallo
这个作者很懒,什么都没留下…
展开
-
模拟三个进程(生产者、消费者)
问题描述模拟:父亲随机地剥橘子,削苹果,剥橘子要快些,削苹果要慢些,完成后放在盘子里,盘子只能容纳3颗水果。儿子只吃苹果,女儿吃橘子,儿子吃得快,女儿吃得慢。(假设他们都吃不饱) 使用信号量机制,并用三个进程模拟父亲、儿子、女儿的动作。代码i_semop.h#ifndef I_SEMOP_H#define I_SEMOP_H#include<unistd.h>#include<stdlib.h原创 2017-10-18 17:10:49 · 3456 阅读 · 1 评论 -
ZigZag Conversion
问题描述给定一个字符串,把字符串按连续的”N”字型排,然后按行重新写出字符串。例如:”PAYPALISHIRING”分成3行,最终得到”PAHNAPLSIIGYIR”。代码#include<iostream>using namespace std;char* convert(char* s, int numRows);int main(){ char s[100]; int nu原创 2017-10-18 19:04:13 · 155 阅读 · 0 评论 -
LRU和FIFO
问题描述给定参数p和n,p表示空间大小,n表示要加载到p个空间中的总的页面数,且p<n成立,求在FIFO和LRU的策略下,比较切换页面的次数,如果LRU切换次数少,则输出yes,反之输出no。之前使用链表存储,花了很多时间,跳出一种问题的坑,又陷入另一种问题,之后采用了数组存储。对于FIFO来说,设置一个变量temp,每次新存入一个数时,temp加一,并把这个数字赋值给存在p存储空间的单元,如果页面原创 2017-10-18 18:56:24 · 959 阅读 · 0 评论 -
约瑟夫问题
问题描述有n个人围成一圈,并给人编号,从1号开始,说yes,接着的那个人说no。圈中的说no的人都要出列,问最后剩下的那个人的编号。代码#include<iostream>using namespace std;int main(){ int n = 0, count = 0,temp = 0; int *p; cin>>n; temp = n; p =原创 2017-10-18 19:00:40 · 169 阅读 · 0 评论 -
fopen文件打开模式
各字母含义r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表textrr 打开只读文件,该文件必须存在。r+ 打开可读可写的文件,该文件必须存在(这里的写文件是指将之前的文件覆盖。rt 打开只读文本文件,该文本必须存在。rt+ 读写打开一个文本文件,允许读和写,该文件必须存在(这里的写文件是指将之前的文件覆盖。rb 只读打开一个二进制文件,,该文本必须存在。rb+原创 2017-10-18 20:44:26 · 8901 阅读 · 1 评论 -
mysql
C语言API1.定义数据结构MYSQL *mysql; //用来操作数据库的结构指针MYSQL_RES *res; //存储操作结果的结构指针MYSQL_ROW row; //存储操作结果的一行unsigned long *lengths;unsigned int num_fields;unsigned long long num_rows;unsigned long long affe原创 2017-12-06 16:27:32 · 298 阅读 · 0 评论 -
tips
fwritefopen打开文件。fwrite循环写,系统为了减少访问磁盘的次数,会在数据满足一定的长度或者刷新输出缓冲区才会写到磁盘中。fclose关闭文件时,系统刷新相关的流,所以别忘了调用。在程序结束的时候,也会关闭进程相关的文件描述符。在某次使用中,在写文件的函数退出的时候,并没有按照预想的生成文件,在程序结束的时候才生成,使用gdb调试,发现程序在main退出的时候一瞬间生成了文件。在lin原创 2017-11-24 20:54:40 · 190 阅读 · 0 评论