xuy's c world!
welcome to my zone.
xy294636185
交流加qq294636185,通信工程向,熟悉c,c++,linux系统编程,网络编程,数据库等。
展开
-
c语言实现顺序表各个功能操作函数
c语言实现顺序表的操作函数首先,一个顺序表先要用结构体定义 typedef struct Seqlist{ Datatype array[MAX_SIZE]; size_t Size; }Seqlist,*psl; 然后要被初始化,这里用memset来初始化 memset(psl->array, 0, MAX_SIZE*sizeof(Dataty...原创 2018-05-25 17:46:02 · 2939 阅读 · 0 评论 -
分析二分查找法和斐波那契数列的时间和空间复杂度
接上篇算法的时间复杂度与空间复杂度分析,传送门:下面以二分查找法和斐波那契数列分析其时间和空间复杂度:1.二分查找法的时间复杂度#include <stdio.h> int searchItem(int arr[],int len, int value){ int low = 0,high = len-1,mid; while (low &l...原创 2018-05-25 10:46:04 · 1638 阅读 · 0 评论 -
算法的时间复杂度与空间复杂度分析
算法的时间性能分析1.算法消耗的时间 一个算法的执行时间是指算法中所有语句执行时间的总和。每条语句的执行时间等于该条语句的执行次数乘以执行一次所需实际时间。 由于语句的执行要由源程序编译成目标代码在执行,语句执行一次实际所需的具体时间是与据算计的软,硬件环境密切相关,故难以精确估计。 2.语句频度 度量一个算法的效率应当抛弃具体计算机条件,仅仅考虑算法本身的效率高低。 语句频度是指该...原创 2018-05-25 10:26:24 · 2863 阅读 · 0 评论 -
c语言实现通讯录(静态)
额 通讯录其实功能很简单 有增加,删除,修改,查找等等 要实现这些功能,就要把这些函数封装成一个个模块,然后在拼凑在一起就行了 第一步 先写主函数:#include"contact.h"void menu(){ printf("*************通讯录**********************\n"); printf("*********1 增加成员...原创 2018-05-18 21:46:12 · 1060 阅读 · 0 评论 -
c语言的自定义类型
c语言的自定义类型分为:结构体 枚举 联合,下面分别介绍一下他们的特点.结构体:1. 结构体的类型声明struct tag{ member__list;}variable__list;例如描述一个学生:struct stu{ char name[20]; int age; char sex[5]; char id[20];}...原创 2018-05-17 17:50:48 · 584 阅读 · 0 评论 -
c语言如何判断一个字符串是不是一个字符串的字串
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <string.h>int find(char *buf, char* sub) { int len = strlen(buf); char *p = (char*)malloc(...原创 2018-05-16 23:56:06 · 5982 阅读 · 1 评论 -
打印蛇行数组
打印蛇型数组今天我们做一个很有趣的事情 , 玩个小游戏 ,打印一个蛇型数组。首先,什么是蛇型数组呢,如图:那么 , 通过c语言如何完成这个要求呢。其实,很简单 #include <stdio.h> #include <stdlib.h> int main(){ int n=1; int x, y, round...原创 2018-05-16 23:38:53 · 306 阅读 · 1 评论 -
qsort实现一个通用的冒泡排序
通用冒泡排序算法通过对冒泡排序法的学习,我们已经掌握了基本的qsort排序,但是如何把参数不同的数据通过一个qsort函数来排序呢,这就需要我们更深层次的理解qsort冒泡排序算法。#include<stdio.h>#include<stdlib.h>int cmp(const void*n1, const void*n2){ return *(ch...原创 2018-05-16 23:13:52 · 291 阅读 · 0 评论 -
qsort库函数和函数指针
c语言快速排序库函数qsort:在C语言的定义中,我们可以看到他的函数原型void qsort( void * Base,int nelem, unsigned int width, in (* PfCompare)(const void , const void ));此函数可对任意类型的数组进行排序这个函数对数组排序时需要知道:.数组起始的地址数组元素的个数每...原创 2018-05-06 17:16:54 · 399 阅读 · 0 评论 -
”指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针“的解析与学习经验
在所有学习c的程序员的学习过程中,无不在学习指针中花过许多功夫,而正是指针使c威力无穷,所以要想成为一名优秀的c程序员,对指针有一个深入而完整的理解是先决条件。指针在计算机科学中,指针是一种编程语言对象,其值指的是(或“指向”)存储在计算机内存中其他位置的另一个值,使用它的内存地址。指针引用存储器中的位置,并获得存储在该位置的值,称为对指针进行解引用。指针数组:是一个数组,数组...原创 2018-05-03 23:14:45 · 224 阅读 · 0 评论 -
回溯算法求解----八皇后puzzle
八皇后谜题:八皇后是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种计算机语言可以解...原创 2018-04-20 23:49:49 · 374 阅读 · 0 评论 -
回溯算法
回溯算法简介先来看看百度百科对于回溯算法的解释: 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯算法的英文是”Backtracking”意思很直接就是原路返回,回溯是一种通用算法,用于发现某些计算问题(特别是约束满足问题)的所有(或某些)解,这些增量满足问题的解决方案,并在确定候选不可能的情况下放...翻译 2018-04-20 23:35:08 · 1394 阅读 · 1 评论 -
可变参数列表源码的剖析
在某些情况下我们希望函数参数的个数可以根据实际需要来定,所以C语言中就提供了一种长度不确定的参数,形如:“…”,C++语言也继承了这一语言特性。在采用ANSI标准形式时,参数个数可变的函数的原型是:type func name(typepara1,typepara2,…);这种形式至少需要一个普通的形式参数,后面的省略号(…)不能省去,它是函数原型必不可少的一部分。典型的例子有大家熟悉的p...原创 2018-04-20 23:05:03 · 152 阅读 · 0 评论 -
递归经典问题----汉诺塔问题
汉诺塔:问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。这个经典的问题完全可以区分一个人是否学过计算机。 touch here:汉诺塔维基百科地址传送门 他在维基百科上的...原创 2018-04-19 15:04:46 · 2961 阅读 · 0 评论 -
浅析函数的调用过程
函数的调用过程,栈帧的创建和销毁在c语言中到某一个函数时,它就会跳转过去执行这个函数,执行完毕后接着再去执行下一条指令。在执行调用函数的过程中,计算机通常还要根据函数完成一些工作,这些操作通过形成一个栈帧来完成。栈帧是编译器用来实现函数调用过程的一种数据结构。C语言中,每个栈帧对应着一个未运行完的函数。以Add()函数为例研究一下函数的调用过程。#include<st...原创 2018-04-19 04:21:18 · 27659 阅读 · 9 评论 -
c语言扫雷小游戏
今天写一个简单的扫雷游戏。 首先,做出游戏选择菜单:void menu(){ printf("************************\n"); printf("************************\n"); printf("*****1.play 0.exit****\n"); printf("*********原创 2018-04-09 03:12:59 · 219 阅读 · 0 评论 -
超简易c语言三子棋小游戏hah
今天来做一个三子棋小游戏。首先,做出游戏开始界面:int menu(void){ printf("............................\n"); printf("..........1 play ..........\n"); printf("..........0 exit ..........\n"); printf(".......原创 2018-04-08 22:41:00 · 219 阅读 · 0 评论 -
c语言数组
一丶一维数组当数组中每个元素都只带有一个下标时,称这样的数组为一维数组。a: 一维数组的定义在C 语言中使用数组必须先进行定义。一维数组的定义方式为;类型说明符 数组名[常量表达式] ;类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。例如:int a[10]; 说明整型数组a,有10个元素。float b[10...原创 2018-04-05 17:35:32 · 295 阅读 · 0 评论 -
C语言操作符总结
一,c语言的操作符算术操作符关系操作符逻辑操作符位操作符赋值操作符条件操作符逗号操作符 1.算数操作符 a.除了%操作符外,其他的几个操作符可以用于整数和浮点数。 b.对于/操作符如果两个操作数都是整数,执行整除法。而只要有 浮点数执行的就是浮点数除法。 c.%操作符的两个操作数必须为整数。返回的是整数之后的余数。 ...原创 2018-03-30 20:13:15 · 184 阅读 · 0 评论 -
c语言为什么允许初始化列表中出现多余的逗号?
例如:int a[ ]={1,2,3,4,5,6,};这种作用有什么用?方便自动化生成代码原创 2018-03-28 16:29:22 · 1499 阅读 · 0 评论 -
c语言猜数字小游戏
#include"stdio.h"#include"time.h"#include"stdlib.h"void play_game() { int fog = 0; int random = 0; random=rand()%101; while(1) { printf("请输入一个数:"); ...转载 2018-03-25 00:16:40 · 153 阅读 · 0 评论