TLPI-Chapter 24 进程的创建
/*************************************************************************\
* Copyright (C) Michael Kerrisk, 2017. *
* *
* This program is free software. You may use, modify, and redistribute i......
/*************************************************************************\
* Copyright (C) Michael Kerrisk, 2017. *
* *
* This program is free software. You may use, modify, and redistribute i......
目前已实现的基本操作包含:
链表初始化
求链表个数
链表插入
链表删除
销毁链表
打印链表
找出单链表中倒数第k个节点
删除单链表中第k个结点,限制条件只能访问第k个结点,不能删除第k个结点
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
typedef int ElemType;
/*定义结构体*/
typedef struct LNode
{
struct LNode *next;
ElemType num;......
像素反转
题目描述
有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。
给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于500,图像元素小于等于256。
测试样例:
[[1,2,3],[4,5,6],[7,8,9]],3
返回:[[7,4,1],[8,5,2],[9,6,3]]
此题最开始的实现是申请一个大小为N的数组,然后将第一行保存到中间数组,然后将第一列拷贝到第一行,然后将最后一行拷贝到第一列,然后再将最右边一列拷贝到最下一行,然后再......
确定字符互异
题目描述
请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。
给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。
测试样例:
"aeiou"
返回:True
"BarackObama"
返回:False
#include <stdio.h>
#include <stdbool.h>
bool checkdiff(ch......
字节顺序,又称端序或尾序。在计算机科学领域中,是跨多字节的程序对象的存储规则。参考链接字节顺序 字节排序
在代码中如何判断各系统采用大端方式还是小端方式呢,除了上面链接我之前的判断外,另一种方法如下:
#include <stdio.h>
#include <string.h>
union u_tag
{
short s;
char c[sizeof(short)];
}un;
int main(int argc, const char * argv[])
{
un.s = 0x0102;
//打印数组c中地址关系
printf("%p %p\......
在电影中经常看到黑客在破解某系统时屏幕上闪过一堆内容,今天在朋友圈看到居然有这方面的应用。可以说是居家旅行,装逼必备的利器了。
这个工具叫Hollywood,从根本上说,它运行在 Byobu ——一个基于文本的窗口管理器,而且它会创建随机数量、随机尺寸的分屏,并在每个里面运行一个混乱的文字应用。
Byobu 是一个在 Ubuntu 上由 Dustin Kirkland 开发的有趣工具。
Ubuntu 用户可以使用简单的命令安装 Hollywood:
sudo apt install hollywood
安装完成,输入hollywood即可开始装逼之旅,因为它会先运行 Byosu ,你......
问题描述
国王有一百桶酒,比自己的生命还重要。结果有一天其中一桶被投了慢性毒药,喝了以后半个小时以后就会死掉。国王大怒,命令玩忽职守的侍卫去试毒。酒不能被混合,一个侍卫可以喝多桶酒,一桶酒也可以由多个侍卫喝,怎么样才能用最少的侍卫、在最短的时间知道哪桶是毒酒。侍卫可以理解为线程,即怎么样用最少的线程用最快的速度完成这个工作。
方案
最简单的方案肯定是找100个人,每个人试一桶酒,那么用时30分钟,就可以判断出哪一桶就有毒。
再进一步的,可以使用分段法,把酒分成n(n>=2)份,先找n个侍卫试酒,可以定位出哪一段的酒有毒,再接着分段试酒。但这种方案,分段数目越少,试出毒酒的平均耗......
鉴于指针与数组的重要性,在阅读经典 C程序设计语言时将总结内容单独记录在该文中。
ANSI C使用void *(指向void的指针)代替char *作为通用指针的类型。
地址运算符&只能应用于内存中的对象,即变量与数组元素。它不能作用于表达式、常量或register类型的变量。
语句(*ip)++中的圆括号是必须的,如果不加括号,该表达式将对ip进行加一运算,而不是对ip指向的对象进行加一运算,原因是与*和++这样的一元运算符遵循从右至左的的结合顺序。
在函数定义中,形式参数char s[]和char *s是等价的。我们通常更习惯于使用后一种形式,因为它比前者更直观地表明了该参数......
After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too much attention. This time, all houses at this place are arranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, the security system for......
本文的目的是记录平时工作学习过程中学习到的C语言知识,由于单独一篇文章记录的话可能篇幅过少,因此置顶此文用作此用处,本文从2017-12-16开始记录,后续新增内容不单独列出时间,在MarkEditor中有相应的版本记录。
文件描述符
EOF(end of file)文件结束,参考如下代码:
#include <stdio.h>
int main()
{
int c;
while((c = getchar())!=EOF)
{
printf("%c",c);
}
printf("\n");
printf("Last ti......