自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(94)
  • 收藏
  • 关注

原创 基本排序--直接插入排序

1.简单方法     首先在当前有序区R[1..i-1]中查找R[i]的正确插入位置k(1≤k≤i-1);然后将R[k..i-1]中的记录均后移一个位置,腾出k位置上的空间插入R[i]。  注意:     若R[i]的关键字大于等于R[1..i-1]中所有记录的关键字,则R[i]就是插入原位置。2.改进的方法  一种查找比较操作和记录移动操作交替地进行的方法。具体做法:

2012-09-27 21:44:10 321

原创 阶乘(递归方式)

/* 主题:用递归的方法来实现阶乘 开发环境:Visual Studio 开发语言:C*/#include #include unsigned long long fact(int n);int main(void){ int n = 0; puts("请输入数值:"); scanf("%d", &n); printf("%llu\n", fact(n)); ret

2012-09-25 16:16:25 349

原创 队列的链式表示

/* 主题:队列的链式表示 作者:nixindong 开发环境:Visual Studio 开发语言:C*/#include #include #include typedef int ElemType;typedef enum {TRUE = 1, FALSE = 0}boolean;//结点typedef struct QNode{ ElemType data;

2012-09-19 15:51:03 384

原创 带头指针的单链表

/* 主题:带头指针的单链表的基本操作 作者:nixindong 开发环境:Visual Studio 开发语言:C*///头文件#include #include typedef int ElemType;//链表结点typedef struct node{ ElemType data; struct node *pNext;}NODE, *LinkList;

2012-09-18 15:49:04 520

原创 线性表的顺序表示和实现

头文件c.h#pragma once#include #include //函数结果状态代码#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1typedef int Status; //Status是函数的类型,其值是函数结果状态代码,如OK等typed

2012-09-17 21:37:03 328

转载 认识(大端--小端)端模式

转自:http://blog.csdn.net/luckyabcd/article/details/4341873端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大

2012-09-17 12:56:42 555

转载 const和voliate定义同一变量

http://topic.csdn.net/u/20071210/14/321d6ec5-f967-4afb-8d04-b335e6db7b34.html不允许这里修改不代表不允许别处修改,再比如:int i = 5;const int* p = &i;*p = 6; // 不可以;i = 7; // 完全可以,而且那个“const”的“*p”也跟着变成了7。c

2012-09-17 12:34:33 673

原创 查找两个字符串中的公共子串

/* 主题:查找两个字符串中的最大公共子串*/#include#include #include char *commonString(char *str1, char *str2){ int i, j; char *shortStr, *longStr, *subStr; //判断字符串的有效性 if (NULL == str1 || NULL == str2) {

2012-09-14 09:46:30 350

原创 编程实现stcmp函数

#include int myStrCmp(const char *src, const char *dst);int main(void){ char str[10] = "1234567"; char str1[10] = "1234567"; char str2[10] = "12345678"; char str3[10] = "123466"; int test1

2012-09-13 21:28:05 474

原创 字符串是否为回文

/* 主题:判断一个字符串是否是回文*/#include int StrLen(char *str);int IsRevStr(char *str);int main(void){ char str1[] = "*1234321*"; char str2[] = "1234221"; if (IsRevStr(str1)) { puts("str1是回文数");

2012-09-13 20:58:47 475

原创 字符串中各单词的翻转

#include void RevStr(char *src);void swap(char *strDest, char *strSrc);int main(void){ char src[] = "I am from ShangHai"; puts(src); putchar('\n'); RevStr(src); puts(src); return 0;}/

2012-09-13 20:26:33 506

原创 字符串中子串的查找

/* 主题:字符串中子串的查找*/#include #include //循环取src的子串与sub比较const char *strstr(const char*src, const char *sub){ const char *bp; const char *sp; if (src == NULL || sub == NULL) { return src;

2012-09-13 19:47:53 338

原创 更高效的实现字符串的长度检测

#include #include int strLen (const char *strSrc);int main(void){ char p[] = "hello world!"; printf ("strLen len: %d\n", strLen(p)); return 0;}int strLen (const char *strSrc){ assert(s

2012-09-13 16:11:49 276

原创 变成实现memcpy函数

/* 主题:编程实现memcpy函数*/#include #include void *memcpy2(void *memeTo, const void *memFrom, size_t size);int main(void){ char strSrc[] = "Hello World!"; char strDest[20]; memcpy2(strDest, strS

2012-09-13 15:52:10 248

转载 assert()函数用法总结

转自:http://www.cnblogs.com/ggzss/archive/2011/08/18/2145017.htmlassert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression );  assert的作用是现计算表达式 expression

2012-09-13 15:49:38 228

原创 编程实现strcpy函数

/* 主题:实现strcpy函数 已知strcpy函数的原型是: char *strcpy(char *srtDest, char *strSrc);*/#include char *strcpy(char *strDest, const char *strSrc);int getStrLen (const char *strSrc);int main(void){ cha

2012-09-13 15:28:49 640

原创 不使用库函数将字符串转换为数字

/* 主题:实现字符串转换为整数,采用减‘0’再乘10累加的办法*/#include int strToInt(const char *str);int main(void){ int n = 0; char p[10] = ""; scanf("%s", p); n = strToInt(p); printf("%d", n); return 0;}i

2012-09-13 15:02:49 448

转载 深入了解scanf()/getchar()和gets()等函数

----------------------------------------------------| 问题描述一:(分析scanf()和gets()读取字符)   |----------------------------------------------------       scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特

2012-09-11 15:23:27 312

原创 回文数的判断

/* 主题:回文数的判断*/#include unsigned int symmetry (unsigned int n);int main (void){ int a = 356563; if (a == symmetry(a)) { puts("是回文数"); } else { puts("不是回文数"); } return 0;}/* 函

2012-09-11 09:50:32 304

原创 将一个字符串中的小写字母改为大写字母

/* 主题:将一个字符串中的小写字母改为大写字母*/#include void big_lower(char *ops);int main(void){ /* 这里的字符串用数组形式来表示,如果用char *p = "hello"这种形式来表示 它是不能被修改的。 */ char src[] = "abcdefghIJKlmnopq"; /* 字符串数组以指

2012-09-11 09:23:22 3715 1

原创 字符串数转换为整数

/* 主题:实现字符串转换为整数,采用减‘0’再乘10累加的办法*/#include int main(void){ int num = 12345, j = 0, i = 0, sum = 0; char temp[7] = {'1', '2', '3', '4', '5', '\0'}; while(temp[i]) { /* 字符串减‘0’就会隐性的转换为i

2012-09-10 21:11:51 344

原创 删除一个字符串中出现次数最少的字符

/** ** ** 题目:删除一个字符串中出现次数最少的字符,函数原型为: ** ** char * delChar(char *s,int iLen) ** ** 其中 s为输入字符串,iLen为输入字符串长度。 ** ** 如输入字符串为“abcdd”,输出为"dd"。 ** **

2012-09-10 18:53:25 87

原创 删除一个字符串中出现次数最少的字符

/** ** ** 题目:删除一个字符串中出现次数最少的字符,函数原型为: ** ** char * delChar(char *s,int iLen) ** ** 其中 s为输入字符串,iLen为输入字符串长度。 ** ** 如输入字符串为“abcdd”,输出为"dd"。 ** **

2012-09-10 18:51:57 3088

原创 对两个字符串是够包含进行比较(轮询方式)

/* 主题:轮询方式对两个字符串是够包含进行比较 作者:nixindong 开发环境:Visual Studio 开发语言:C*/#include #include int StringCompare(char *src1, char *src2);int main (void){ int index; char *s = "ABCDEFGHLMNOPQRS"; c

2012-09-10 15:06:52 381

原创 整数转换为字符串数,并且不使用itoa函数

/* 主题:将整数转换成字符串数,并且不用函数itoa 作者:nixindong 开发环境:Visual Studio 开发语言:C*/#include int main (void){ int num =12345,i=0,j=0, k = 0; char temp[6],str[6]; while(num) { //将整数num从后往前的每一位数转换成char保存

2012-09-10 13:35:39 299

原创 最大子段和

/* 主题:最大子段和 作者:nixindong 邮箱:nixindong@hotmail.com 开发环境:Visual Studio 开发语言:C */ #include int maxSum(int *a, int n);int main (void){ int a[10] = {1, -8, 6, 3, -1

2012-09-06 09:15:50 374

原创 查找----折半查找

折半查找的前提:表中的数据元素必须是有序的。/* 主题:折半查找 作者:karl 邮箱:nixindong@hotmail.com 开发环境:Visual Studio 开发语言:C*/#include int search(int a[], int n, int x);int main(void){ int i, x, pos; int a[10]; pri

2012-06-27 22:00:41 314

原创 查找----顺序查找

/* 主题:顺序查找就是从数据序列中的第一个元素开始逐个查找, 直到找到所要的数据或搜索完整个数据序列。 作者:karl 邮箱:nixindong@hotmail.com 开发环境:Visual Studio 开发语言:C*/#include int search(int a[], int x);int main(void){ int i, x, n; int a

2012-06-27 21:37:14 232

原创 猜数字游戏

游戏说明:电脑随机产生一个数字不重复的四位数。电脑会将您提交的数与它自动产生的数进行比较,结果显示成"*A*B"。A代表位置正确数字也正确,B代表数字正确但位置不正确,比如:"2A2B"表示您有2个数字的位置正确且数值也正确,除此以外,您还猜对了2个数字,但位置不对。程序源码:/* 主题:猜数字游戏 作者:karl 邮箱:nixindong@hotmail.com 开发

2012-06-20 13:47:50 345

原创 阶梯问题

问题:在你面前有一条长长的阶梯,如果每步跨2阶,那么最后剩1阶;如果每步跨3阶,那么最后剩2阶;如果每步跨5阶,那么最后剩4阶;如果每步跨6阶,那么最后剩5阶;只有当每步跨7阶时,最后才正好走完,一阶也不剩。请问这条阶梯有多少阶?(求所有三位阶数)C程序求解:/* 主题:阶梯问题 作者:karl 邮箱:nixindong@hotmail.com 开发环境:Visual St

2012-06-14 15:19:18 449

原创 可逆素数

/* 主题:可逆素数是指将一个素数的各位数字顺序地倒过来, 构成的反序仍然是素数,按以上要求所有的四位素数 作者:karl 邮箱:nixindong@hotmai.com 开发环境:Visual Studio 开发语言:C 日期:2012-06-14*/#include #include typedef enum{TRUE = 1, FALSE = 0}boolean;

2012-06-14 14:58:37 567

原创 亲密数

定义:如果a的因子和等于b,b的因子和等于a,因子包括1但不包括本身,且a不等于b,则称a,b为亲密数对。/* 主题:寻找亲密数对 作者:Karl 邮箱:nixindong@hotmail.com 开发环境:Visual Studio 开发语言:C*/#include int factor(int n);int main(void){ int i, facto

2012-06-13 21:15:00 307

原创 特殊的完全平方数

/* 主题:在3位整数100~999中查找特殊的完全平方数, 这个数既是完全平方数,又有两位数子相同 作者:karl 邮箱:nixindong@hotmail.com 开发环境:Visual Studio 开发语言:C*/#include int main(void){ int i, j; int hun, ten, digits; printf("结果是:")

2012-06-13 20:19:29 449

原创 素数判断

/* 主题:素数判断 作者:karl 邮箱:nixindong@hotmail.com 开发环境:Visual Studio 开发语言:C*/#include #include typedef enum{TRUE = 1, FALSE = 0}boolean;boolean prime(int value);int main(void){ int i; int s

2012-06-13 19:54:22 321

原创 Fibonacci Sequence

斐波纳契数列(Fibonacci Sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)递归方式程序实现:/* 主题:Fibonacci数列 作者:karl 邮箱:nixindong@hotmail.com 开

2012-06-13 16:13:17 331

原创 rand()、 srand()和time(0)函数

rand()和srand()函数原型是:void srand(unsigned int);int rand(void);标准C库函数中的rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX是stdlib.h中定义的一个整数,它与系统有关。rand()函数没有输入参数,它直接通过rand()来引用,例如可以通过下面的语句来打印两个随机数:prin

2012-06-13 10:12:39 1629 1

原创 基本排序----直接选择排序

1、直接选择排序的基本思想     n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果: ①初始状态:无序区为R[1..n],有序区为空。 ②第1趟排序     在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1]交换,使R[1..1]和R[2..n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。  ……

2012-06-10 16:44:44 243

原创 基本排序----快速排序

快速排序的基本思想:http://sjjp.tjuci.edu.cn/sjjg/DataStructure/DS/web/paixu/paixu8.3.2.1.htm/* 主题:快速排序 作者:karl 邮箱:nixindong@hotmail.com 开发语言:C 开发环境:Microsoft Visual Studio 时间:2012-06-10*/#include

2012-06-10 16:19:05 243

原创 基本排序----冒泡排序

冒泡排序冒泡排序(Bubble Sorting)的基本思想是:设待排序n个元素存放在数组a[n]中,无序区范围初始为(a(0),a(1),a(2),...,a[n-1]),冒泡排序方法是在当前无序区内,从最上面的元素a[0]开始,对每两个相邻的元素a[i+1]和a[i](i=0,1,...,n-1)进行比较,且使值较小的元素换至值较大的元素之上(若a[i]>a[i+1],则a[i]和a[i

2012-06-10 12:59:48 210

原创 基本排序----希尔排序

希尔排序基本思想  基本思想 希尔排序(Shell Sort)又称为“缩小增量排序”。是1959年由D.L.Shell提出来的。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(

2012-06-10 10:48:40 223

空空如也

空空如也

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

TA关注的人

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