c
YANG_1605
兢兢业业做事,踏踏实实做人,不忘初心,继续前进
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
调整数组顺序使奇数位于偶数前面
题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。思路: 先定义两个pStart、pEnd两个指针,一个放在数组首部,一个放在数组尾部,pStart指针向左移动,pEnd指针向右移动,如果第一个指针指向的偶数,第二个指针指向的是奇数,则交换这两个数字。图解:具体代码实现...原创 2018-11-28 12:28:10 · 193 阅读 · 0 评论 -
二分查找
二分查找是针对有序数组所用的一种快速查找元素的方法.条件:针对有序数组(元素从小到大或从大到小)优点:查询速度较快,时间复杂度为O(n)缺点:有硬性条件的限制,而且即使查到后,插入与删除困难非递归实现 :int BinarySearch(int arr[],int len,int key){ int left=0,right=len-1; int mid=0; if...原创 2019-08-20 17:17:57 · 196 阅读 · 0 评论 -
const的基本认识(C)
在C语言中,const是用来定义常变量的,将变量变成只读类型,不能进行修改。const int a=100;a=10; //error 不能进行修改const还有几个性质:1.数据类型对于const来说是透明的;const int a=100;等同于 int const a=100;2,const修饰它的直接左边,不能做左值;int a=10;int b=2...原创 2018-04-27 21:44:44 · 208 阅读 · 0 评论 -
时间复杂度的分析
时间复杂度和空间复杂度是对算法和代码进行衡量的量。算法分析主要是指分析算法的效率,时间复杂度越小说明代码的利用效率就越高。 时间复杂度有两种计算方法: 1.事后统计方法 在算法关键位置插入计时器,算法开始执行打开计时器,终止时关闭计时器,最终经过计算的算法执行时间的差值,可以计...原创 2018-04-27 21:27:34 · 433 阅读 · 0 评论 -
任意整型数字的逆序和顺序输出
对任意数进行顺序和倒序输出可以分为以下几步:一.先求这个数是几位数代码实现如下:用for循环:int GetFigures(int n){ int i; for(i=1;n!=0;i++) { n/10=n; } return i;}亦可以用while循环语句实现:int G...原创 2018-03-29 13:04:55 · 1221 阅读 · 0 评论 -
指针的认识
指针:一个变量单元的地址,将地址形象称为“指针”。定义指针变量:类型名 *指针变量名; int *p;(定义整型指针p)类型名还可以为 char,float等类型。例如: int a=10; int b=20;(定义整形变量a,b,并进行初始化) int *p=&a;(定义整型指针p,...原创 2018-04-08 14:03:02 · 251 阅读 · 0 评论 -
指针的基本运算
用指针方法处理比较两个数大小:不交换整形变量的值,只是交换两个指针变量的值。# include<stdio.h>void swap(int *p1,int *p2){ int tmp; tmp=*p1; *p1=*p2; *p2=tmp;}int main(){ int a=10;...原创 2018-04-08 15:33:06 · 444 阅读 · 0 评论 -
斐波那契数列的实现
斐波那契数列为1,1,2,3,5,8,13.........用两种方法进行实现:1.递归法# include<stdio.h>void fibon(int n){if(n==0||n==1){return 1;}elsereturn f...原创 2018-04-27 22:17:07 · 316 阅读 · 0 评论 -
函数的堆栈调用
函数堆栈调用的步骤:1.开辟形参内存并进行初始化;2.压入下一行指令的地址;3.压入调用方栈底指针的值;4.开辟全局变量所需的栈空间并初始化。堆栈的定义: 编译器一般使用堆栈实现函数调用。堆栈是存储器的一个区域,嵌入式环境有时需要程序员自己定义一个数组作为堆栈。Windows为每个线程自动维护一个堆栈,堆栈的大小可以设置。编译器使用堆栈来堆放每个函数的参数、局部...原创 2018-11-19 20:44:45 · 884 阅读 · 0 评论 -
typedef与define的区别
(一)typedef(1)typedef 为某一种类型引入新的名字 ,并不为变量分配内存空间(2)不可以同时将多个声明放在一个typedef (二)define #define为一宏定义语句,通常用它来定义常量(包括无参量与带参量),以及用来实现那些“表面似和善、背后一长串”的宏,它本身并不在编译过程中进行,而是在这之前(预处理过程)就已经完成了,但也因此难以发现潜在...原创 2018-11-19 21:18:27 · 1208 阅读 · 0 评论 -
编译 链接 运行原理
一、虚拟地址空间的认识我们通常在说计算机的32位、64位操作系统,其实说的是ALU的宽度,即一次性能处理最大数据长度(比特为单位);在Windows操作系统下4G虚拟内存空间是,用户空间:内核空间是1:1在Linux操作系统下4G虚拟内存空间是,用户空间:内核空间是3:1Linux4G虚拟地址空间分配大致如下图:二、编译预编译生成.i文件命令:gcc -E mai...原创 2018-11-25 20:10:14 · 222 阅读 · 0 评论 -
常规进制的求法
我们一般见到的数字都是十进制数字,例如11,12,13等等。在计算机语言中我们常用的是二进制数字,例如010101。还有十六进制数字,偶尔也会见到个别其他的进制数字,那么通过下面这个例子进行进制的计算,这是解决进制问题的常规求法。 例如:假设在n进制下,下面的等式成立,567*456=150216,则n的值是() A, 9...原创 2018-04-19 16:41:15 · 600 阅读 · 0 评论 -
八皇后问题---(回溯法)
八皇后问题是一个古老而著名的问题。该问题是19世纪著名的数学家高斯1850年提出:在一个8*8国际象棋盘上,有8个皇后,每个皇后占一格;要求皇后之间不会出现相互“攻击”的现象,即不能有两个皇后处在同一行、同一列或同一对角线上。问共有多少种不同的方法?这是经典的使用回溯法解决的问题: 回溯算法也叫试探法,它是一种搜索问题的解的方法。冋溯算法的基本思想是在一个包含所有解的解...原创 2018-05-29 22:36:02 · 437 阅读 · 0 评论 -
链表的认识及链表元素的插入
链表的定义:链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。因为链表不用必须按顺序进行存储,因此可以对链表进行增、删、改、查等操作,下面先介绍链表的几个插入的例子:1.链表的插入:链表的插入可以分为头插和尾插和按位置插入,顾名思义就是从头插入元素和从尾部插入元素还有从...原创 2018-11-25 19:01:04 · 2030 阅读 · 1 评论 -
字符串匹配问题-------BF算法和KMP算法
一、BF算法:定义:暴风(Brute Force)算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。代码如下:int simple(const char *str1, const char *str2...原创 2018-11-27 17:29:08 · 747 阅读 · 0 评论 -
链表的操作------元素的删除
上次写了对链表的认识和在链表中插入元素,今天就来写写链表中元素的删除。链表的删除为按元素的值进行删除;pCur 表示要删除的结点;pfront 表示要删除结点的前置结点,让其的指针域保存下一个结点的地址,则将pCur删除。具体代码如下:PLink Search(PLink phead, ELEM_TYPE val) // 查找链表中的元素{ PLink pCur = ph...原创 2018-11-27 18:02:19 · 796 阅读 · 1 评论 -
合并两个排序的链表
输入两个递增的链表,合并两个链表使其合成一个新的链表,新的链表仍然是递增顺序的; 链表1的头结点的值小于链表2的头结点的值,因此链表1的有节点将是合并后链表的头结点。剩余节点中链表2的头结点的值是剩余结点的头结点,把这个节点和之前已经合并好的链表的尾结点链接起来,这是一个递归的过程。实现代码如下:Plink Merge(Plink phead1,Plink phead...原创 2018-11-27 20:27:03 · 200 阅读 · 0 评论 -
编程练习(最大乘积数、字符串去重)
1、最大乘积数题目描述:给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大思路:首先我们想到的是先对数组进行排序,然后找出前三大的数据进行相乘,就可以得到最大乘积。例如:3 4 1 2输出:24话不多说,直接上代码:C语言实现:# include <stdio.h># include <stdlib.h> vo...原创 2019-08-15 16:49:57 · 381 阅读 · 0 评论
分享