![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
codeday练习
coolnut12138
加油
展开
-
[c语言]实现一个函数,可以左旋字符串中的k个字符。
//1.实现一个函数,可以左旋字符串中的k个字符。//ABCD左旋一个字符得到BCDA//ABCD左旋两个字符得到CDAB#include<stdio.h>#include<math.h>#include<string.h>#include<assert.h>void left_rotate(char str[],int n,int s...原创 2018-11-03 11:26:18 · 332 阅读 · 0 评论 -
编写函数 process_create(pid_t* pid, void* func, void* arg)
封装fork/wait等操作, 编写函数 process_create(pid_t* pid, void* func, void* arg), func回调函数就是子进程执行的入口函数, arg是传递给func回调函数的参数. 4 #include <stdio.h> 5 #include <stdlib.h> 6 #include <unistd.h&g...原创 2019-05-04 21:49:25 · 317 阅读 · 6 评论 -
排序算法之快速排序(包含hover法、挖坑法、前后指针)详解
简介:快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法。 其基本思想为:任取待排序元素序列中 的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右 子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。 因为快速排序采用了分治算法的思想,所以排序速率相对较快。正文 下面叙述一下快速...原创 2019-03-13 00:47:34 · 424 阅读 · 1 评论 -
[c语言]数据结构之用单链表实现队列
简介本文将用链表的形式实现队列的基础接口功能:1.初始化/销毁2.增加/删除还实现了返回队首元素的值,返回队列元素个数,以及判断队列是否为空 上图是队列的简单描述,队列遵循的规律是只能从队尾进队,出队只能从队首出队,这就意味着删除和插入元素简单了许多。 用两个指针分别指向队首元素以及队尾元素,这样就才能对相应的结点进行操作。 下面是代码的实现头文件Queue.h#defi...原创 2018-12-09 21:04:19 · 1503 阅读 · 0 评论 -
[C语言]数据结构之双向链表
简介本文将实现双向链表的基础接口功能1.初始化/销毁2.增删改查头文件DList.h#pragma once//数据类型typedef int DLDataType;//结点类型typedef struct DListNode{ DLDataType val; struct DListNode *next; struct DListNode *prev;} DL...原创 2018-12-09 19:24:18 · 330 阅读 · 0 评论 -
[C语言]数据结构之单链表
简介本文将实现单链表的基础接口功能1.初始化/销毁2.增删改查头文件.h#define _CRT_SECURE_NO_WARNINGS 1#pragma oncetypedef int SLDataType;typedef struct SListNode{ SLDataType data; struct SListNode *next;} SListNode;typed...原创 2018-12-09 19:12:04 · 216 阅读 · 0 评论 -
[C语言]数据结构之顺序表
简介本文将实现顺序表的基础接口功能:1.初始化/销毁2.增删查改头文件.h#pragma once// Sequence List#include <stddef.h>//size_t的头文件(头文件用什么在哪写什么,不需要一通都写)typedef int SLDataType;struct SeqList { SLDataType *array; // 指针...原创 2018-12-09 18:14:56 · 402 阅读 · 0 评论 -
[c语言]通讯录进阶版(实现动态内存以及文件操作)
正文本文将在上次的基础版本上实现进阶功能可以实现动态内存分配可以实现文件操作(保存之后,下次打开程序,上次存储的信息依然在)包含联系人姓名,性别,年龄,电话,家庭住址等信息可以实现以下功能1.添加联系人信息2.删除指定联系人信息3.查找指定联系人信息4.修改指定联系人信息5.显示所有联系人信息6.清空所有联系人7.以名字排序所有联系人8.清屏9.完成操作自动保存10....原创 2018-11-18 22:06:25 · 298 阅读 · 0 评论 -
[c语言]实现通讯录基础版
正文本文将实现通讯录的基本操作:可以在通讯录中添加1000个联系人包含联系人姓名,性别,年龄,电话,家庭住址等信息可以实现以下功能1.添加联系人信息2.删除指定联系人信息3.查找指定联系人信息4.修改指定联系人信息5.显示所有联系人信息6.清空所有联系人7.以名字排序所有联系人8.清屏代码如下:#define _CRT_SECURE_NO_WARNINGS 1#inc...原创 2018-11-18 22:00:14 · 339 阅读 · 0 评论 -
[c语言]模拟实现strncpy,strncat,strncmp
1.模拟实现strncpy//1.模拟实现strncpy(拷贝前n个字符)#include<stdio.h>#include<assert.h>char * my_strncpy(char *dest,const char *src,size_t num){ char *p = dest; int i = 0; assert(dest != NULL)...原创 2018-11-13 15:31:50 · 202 阅读 · 0 评论 -
[c语言]codeday15找出数组中出现一次的两个值以及喝汽水模拟实现strcpy和
1.一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现#include<stdio.h>void find(int arr[],int len,int *m,int *n){ int s = 0; int i = 0; int j = 0; int k = 0; for(i=0; i<len; i++) { s ^=ar...原创 2018-11-04 20:07:18 · 231 阅读 · 0 评论 -
[c语言]对各种字符串库函数的实现strcpy,strcat,strstr,strchr,strcmp,memcpy,memmove
1.模拟实现strcpy//1.模拟实现strcpy(字符串拷贝)#include<stdio.h>#include<assert.h>char * my_strcpy(char *dest,const char *str){ char *p = dest; assert(dest); assert(str); while(*dest++ = *st...原创 2018-11-06 23:05:14 · 323 阅读 · 0 评论 -
[C语言]调整数组使奇数全部都位于偶数前面。
#define _CRT_SECURE_NO_WARNINGS 1//调整数组使奇数全部都位于偶数前面。#include&amp;lt;stdio.h&amp;gt;void adjust(int arr[],const int len){ int i = 0; int j = 0; int tmp = 0; //冒泡排序 for(i=0; i&amp;lt;len-1; i++) { for(j...原创 2018-10-30 23:13:28 · 338 阅读 · 0 评论 -
[c语言]三种方法实现(a+b)/2
//不使用(a+b)/2的方式,求两个数的平均值//第一种:一个属右移一位相当于一个数除以2 (a+b)>>1//第二种: a+(b-a)>>1 = a + b/2 - a/2 = (a+b)/2 b+(a-b)>>1//第三种:& ^//&的作用:找出相同的位//^的作用:找出不同的位//(a+b)/2 --->...原创 2018-11-03 11:32:55 · 4033 阅读 · 0 评论 -
A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个
题目:A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。输入描述:输入为一行,一共4个整数,分别为A - B,...原创 2019-05-23 09:36:26 · 926 阅读 · 0 评论