2013年4月29日
摘要: 队列是常见的数据结构,特点是:从头删除,从尾加入。本文使用双向链表实现队列,具体代码如下: 1 #include<stdlib.h> #inlcude<stdio.h> 2 #define new(type) (type*)malloc(sizeof(type)) 3 typedef struct ListNode{ 4 int data; 5 struct ListNode *lLink; 6 struct ListNode *rLink; 7 }Queue; 8 Queue* Insert(Queue *tail,int x){ 9 Queue* ptr... 阅读全文
posted @ 2013-04-29 19:09 Licious 阅读(517) 评论(0) 推荐(0)
摘要: 问题介绍:M个人围成一圈,从第一个开始报数,第N个将被杀掉,最后剩下一个,其余人都将被杀掉。例如M=6,N=5,被杀掉的人的序号为5,4,6,2,3。最后剩下1号。这里使用循环链表数据结构实现,代码如下: 1 #include<stdlib.h> #include<stdio.h> 2 #define new(type) (type*)malloc(sizeof(type)) 3 typedef struct _LinkNode{ 4 int number; 5 struct _LinkNode *next; 6 }LinkNode; 7 Josephus(LinkNo 阅读全文
posted @ 2013-04-29 19:05 Licious 阅读(227) 评论(0) 推荐(0)
  2013年4月22日
摘要: 我们知道,Linux下的环境变量可以用来控制shell脚本和其他程序的行为。UNIX规范定义了许多标准环境变量,包括终端类型、默认的编辑器、时区等。C语言程序可以通过putenv和getenv函数来访问环境变量。1 #include<stdlib.h>2 extern char **environ;3 char *getenv(const char *name);4 int putenv(const char *string);环境由一组格式为“名字=值”的字符串组成。程序可以通过environ这个变量直接访问这个字符串数组。getenv函数根据给定的名字搜索环境中的一个字符串,并 阅读全文
posted @ 2013-04-22 16:41 Licious 阅读(200) 评论(0) 推荐(0)
摘要: 为了获取程序的参数,Linux C提供了标准编程接口:getopt函数,它支持需要关联值和不许要关联值的选项。下面对函数介绍如下:1 #include<unistd.h> 2 int getopt(int argc,char *const argv[],const char *optstring);3 extern char *optarg;4 extern int optind,opterr,optopt;getopt函数将传递给程序的main函数的argc和argv作为参数,同时接收一个选项制定符字符串optstring,该字符串告诉getopt哪些选项可用,以及他们是否存在关 阅读全文
posted @ 2013-04-22 16:17 Licious 阅读(480) 评论(1) 推荐(0)
  2013年4月21日
摘要: 原来文章是用于转载,随笔才是原创,好吧,那发过来吧。第一篇文章,如题用链表实现了多项式,包括输入、输出和三种运算。这次代码主要遇到两个问题:scanf的连续调用,以及一个神奇的很不科学的bug——i的初始化问题代码贴下来如下://本程序使用C语言创建一个链表来表示多项式//多项式按照升序进行排列//实现多项式的加、减、乘三个运算#include<stdlib.h>#include<stdio.h>#define new(type) (type*)malloc(sizeof(type))typedef struct _Term Term;struct _Term{ flo 阅读全文
posted @ 2013-04-21 23:30 Licious 阅读(304) 评论(0) 推荐(0)