自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (8)
  • 收藏
  • 关注

原创 快速排序

快速排序思路先找一个基准数,通常是第一个,将所有比基准数大的放在右边,比基准数小的放在左边,然后再排序左边部分和右边部分。如何找到这个位置呢,定义两个指针i,j,i指向第一个,j指向最后一个,j从后往前移动,直到找到小于基准数的位置停下,然后i向后移动直到找到大于基准数的位置,交换两个数,j和i继续按什么方法移动,直到i和j相遇,就是基准数的位置。代码#include <stdio.h>#defin

2016-11-30 10:27:07 414

原创 冒泡排序

冒泡排序思路每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。 (升序)每次取两位比较,越大越靠后,每一趟将最大数归位,执行n-1趟。代码#include <stdio.h>#define LEN 9int main(){ int i, j, temp; int a[LEN] = {2, 4, 5, 6, 3, 4, 2, 9, 10}; for (i = 0

2016-11-30 10:25:17 252

原创 简化版桶排序

简化版桶排序思路:定义一个数组(桶),大小为待排序的最大数字加1,每个桶里初始化为0,遍历待排序的数组,取出每个数字,在对应桶上加一,如数字是3,就在桶[3]上加一,最后遍历全部桶,依次取出数字,即排好序。代码:#include <stdio.h>int main() { int a[11], i, j, t; int b[9] = {2, 4, 5, 6, 3, 4, 2, 9,

2016-11-30 10:18:13 379

原创 [linux] c 实现简单的web服务器

linux c 实现简单web服务器

2016-11-29 14:50:56 5900 2

原创 [linux] unix domain socket 例子

服务器:#include #include #include #include #include #include #include #include #include #define MAXLINE 80char *socket_path = "server.socket";int main(void){ struct sockaddr_un seru

2016-11-29 13:41:37 4764 1

原创 [Linux] c语言简单的udp socket 示例

服务端:#include #include #include #include #include #include #include #include #include #include "wrap.h"#define MAXLINE 80#define SERV_PORT 8000int main(void){ struct sockaddr_in s

2016-11-19 15:00:45 642

原创 [Linux] c 语言tcp socket 示例从简单到复杂

上面例子是最基本的tcp socket 流程,没有错误处理,下面写一个模块 wrap.c 给socket函数加上错误处理代码包装成新的函数;服务端也不能接收多个客户端请求,使用fork()函数创建一个子进程专门服务客户端,而父进程专门负责监听端口,再使用sigaction()函数处理SIGCHLD信号调用wait清理僵尸进程;使用setsockopt设置socket描述符选项SO_REUSEADDR为1,允许创建端口号相同但ip地址不同的多个socket描述符。h客户端输入也不是交互式的,将其改为交互式

2016-11-19 14:54:08 8739

原创 [Linux]多线程同步之sem_wait()学习笔记

1、semaphore 的这种信号量不仅可用于同一进程的线程同步,也可以用于不同进程间同步。一个生产者-消费者例子:生产者不停的向一个固定大小的环形队列中添加数据,消费者从环形队列中清零数据,如果生产者积累的数据大于环形队列长度,则等待消费者清除数据有空位后再生产。#include #include #include #include #include #define NUM

2016-11-13 20:03:17 16524 3

原创 [Linux]多线程同步之pthread_cond_wait()学习笔记

线程间同步的一种情况:线程A需要等某个条件成立才能继续往下执行,现在这个条件不成立,线程A就阻塞等待,而线程B在执行过程中使这个条件成立了,就唤醒线程A继续执行。在pthread库中通过条件变量(Condition Variable)来阻塞等待一个条件,或者唤醒等待这个条件的线程 。一个生产者-消费者的例子:消费者A等待生产者B产出产品后才打印,否则消费者阻塞等待生产者生产。

2016-11-13 18:55:12 3258 1

原创 c语言每隔1秒向文件中写入一行记录,类似日志记录

读写一个文件test.txt,每隔1秒向文件中写入一行记录,直到按Ctrl-C终止。下次启动程序时在test.txt文件末尾追加记录,并且序号能够接续上次的序号。#include #include #include #include #include int main(void) { FILE *fp; fp = fopen("test.txt", "a+");

2016-11-03 16:01:58 5915

原创 使用回调实现对一组任意类型的对象做快速排序

qsort函数实现对一组任意类型对象的排序,调用者提供 findPos_t 回调函数,在回调函数中实现对特定类型元素位置的查// qsort.h#ifndef QSORT_H#define QSORT_Htypedef int (*findPos_t)(void *a[], int left, int right);extern void qsort(void *a[], int l

2016-11-01 15:02:19 405

原创 使用回调函数实现类型c++的泛型算法

max 函数可以在任意一组对象中找出最大值,实现者并不知道怎样去比较两个对象的大小,调用者需要提供一个做比较操作的回调函数。// generics.h#ifndef GENERICS_H#define GENERICS_Htypedef int (*cmp_t)(void *, void *);extern void *max(void *data[], int num, cmp

2016-11-01 10:17:27 924

c#串口通信

一个简单的串口通信程序,目的在于了解最基本的串口通信和C#串口编程

2014-10-19

FilterProDTSetup

有源滤波器设计软件 高通 低通 带通 带阻 全通

2014-07-13

ASCII 码数组表

ASCII 码数组表 在写字库程序中可能会用到,方便大家使用

2013-10-03

NEC傻瓜入门手册

NEC开发环境的使用,帮助初学者快速入门.

2013-08-17

《常用电路模块制作》

全国大学生电子设计竞赛必备资料,高清扫描完整版。

2013-08-16

UtraCalN(匝数计算)

计算电感、线圈匝数和谐振FLC的计算软件。

2013-04-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除