C/C++
文章平均质量分 76
njust_sxy
这个作者很懒,什么都没留下…
展开
-
二维数组中的查找
数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请题目:在一个二维完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:下面是一个满足题目要求的二维数组。如果在这个数组中查找数字7,则返回true;如果查找数字5,由于不含该数字,返回false。算法分析:首先选取数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数原创 2014-07-04 18:39:33 · 866 阅读 · 0 评论 -
队列的基本运算实现
队列(queue)队列是一种先进先出(first in first out,FIFO)的线性表。它只允许在表的一端(队尾/rear)插入元素,而在另一端(队头/front)删除元素。插入操作称为入队或进队,删除操作称为出队或离队。队列示意图如下:1、 顺序队队列的顺序存储结构需要使用一个数组和两个整型变量来实现,数组用于存储队列中的所有元素,两个整型变量分别用于存储队头元素原创 2014-07-29 14:09:22 · 5767 阅读 · 0 评论 -
栈的基本运算实现
栈是一种只能在一端进行插入和删除操作的线性表。表中允许进行插入和删除操作的一端称为栈顶。栈顶的当前位置是动态的,由一个称为栈顶指针的位置指示器指示。表的另一端称为栈底。不含数据元素的栈称为空栈。栈的插入操作称为压栈或进栈,栈的删除操作称为退栈或出栈。栈的主要特点是“后进先出(LIFO)”。1、 顺序栈假定栈的元素个数不超过MaxSize,所有的元素都具有同一数据类型ElemType。采用栈原创 2014-07-28 19:01:28 · 7367 阅读 · 0 评论 -
单链表的运算实现
线性表的链式存储结构——链表,包括单链表、双链表、循环链表等。单链表的结点由数据元素和指向下一个结点的指针构成,是最简单的一种链表结构。 对单链表的操作很多,如查找、插入、删除、逆置、打印等,现对这些操作的实现做一个小结,代码用C语言实现。#include#includetypedef struct LNode{ char data; struct LNode *原创 2014-07-23 19:24:10 · 958 阅读 · 0 评论 -
关于操作有符号数的溢出问题
在计算机中,数值的二进制表示方法主要有:原码、反码和补码。通常取最高位为符号位,0表示正数,1表示负数。正数的原码、反码、补码一样。而负数的原码最高位取1,数值位取负数绝对值的二进制值;反码的符号位为1,其余位取反;补码的符号位为1,其余位取反加1。在32位计算机中,有符号字符型变量的取值范围是-27 ~ 27-1,有符号整型变量的取值范围是-215~ 215-1,如果将有符号整型变量赋给有符号字符型变量,则高位被截断,保留低八位。原创 2014-08-10 22:23:24 · 3763 阅读 · 2 评论 -
几个常见字符串处理函数的实现原理
字符串是一种常见的数据结构,对字符串的处理又可以十分灵活,所以在实际开发,尤其是非数值处理中,字符串的应用非常广泛。虽然很多字符串操作都封装在了函数库里,应用程序可以直接通过调用库函数来实现字符串处理,然而对于开发者而言,若能了解其底层实现原理,对于应用编程而言还是大有裨益的。这篇文章主要介绍几种常用的字符串处理函数的实现原理。一、strlen函数strlen函数:计算字符串的实际长度原创 2014-07-09 18:26:16 · 2925 阅读 · 0 评论