Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

红黑树 C++实现

红黑树 C++实现

高度为h的二叉查找树在进行插入删除等操作时,时间都是O(h),当树的高度较低的时候,有着很好的执行速度。但是当树的高度较高的时候,这些操作的效率可能并没预想的好。红黑树是一种保证在最坏情况下,操作时间为O(lgn)的一种接近平衡的二叉搜索树,并不像AVL树那样,是严格的高度平衡的。[cpp] //Abinarysearchtreeisared-blacktreeifitsatisfiesthefollowingred-blackproperties: /...
二叉排序树(二叉搜索树)

二叉排序树(二叉搜索树)

动态查找表的一种理想数据结构。二叉排序树的定义是:二叉排序树T是一棵树,它或者是空,或者具备一下三条性质:(1)、如果T的根节点的左子树非空,其左子树所有结点的值均小于T的根节点的值(2)、如果T的根节点的右子树非空,其右子树所有结点的值均大于T的根节点的值(3)、T的根结点的左右子树均为二叉排序树下面是代码:文件"tree.h"[cpp] #include<iostream> #include<stack> #include<...
C++调用约定和名字约定

C++调用约定和名字约定

调用约定: __cdecl __fastcall与 __stdcall,三者都是调用约定(Calling convention),它决定以下内容: 1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。 1、__stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈, 2、_cdecl是C和C++程序的缺省调用方式。每一个调用它的函数都包含清空堆栈的代码,所以产生的可执行文件大小...
标准C++中的string类的用法总结

标准C++中的string类的用法总结

相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果 离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操 作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C++中string类的使用。标准C++中提供的string类得功能也是非常强大 的,一般都能满足我们开发项目...
Linux下PV操作与共享存储区通信

Linux下PV操作与共享存储区通信

在使用共享存储区通信时会遇到当多人同时运行客户端代码通过共享存储区与服务器代码做应答时,共享存储区内容还没有来得及显示,就被恶意篡改的情况(上篇文章中有源码 http://www.linuxidc.com/Linux/2012-01/52541.htm)。本文将通过Linux下的信号量机制(pv操作)解决这个问题。 PV操作的基本原理是在计算机操作系统课中学到的,这里不再详述。然而在Linux下PV操作基本编程是在下面的代码中学到的,现贴出来(注释是自己百...
Shell脚本编程的一些基础

Shell脚本编程的一些基础

bash 脚本名 可以运行脚本bash的常用选线#bash-n 语法测试-x 显示过程编程语言:动态语言(脚本语言)变量不需要事先证明解释执行 编辑--->执行高级脚本语言 perl 太自由 python (完全面向对象) 只提供一种最优的 方法 ruby asp jsp php (不用使用到root权限) 面向网页的脚本语言 静态语言(编译行语言)变量必须声明,严格区分变量类型编译后才能执行 编辑--->编译--->连接--->...
Android 如何置底一个View

Android 如何置底一个View

【Android 如何置底一个View(附 前置声明layout布局文件中的资源ID)】 。今天在考虑一个RelativeLayout布局,整个屏幕分为两个部分,上部分是一个ListView,下部分是两个横排的Button。欲实现这两个Button始终置底,ListView在Button的上方占满剩余的空间。Button置底这个方法还算简单,直接将两个Button包裹于一个LinearLayout,然后设置这个LinearLayout的属性android:...
Android电池电量监控初步

Android电池电量监控初步

引言初学Andorid,学习了包括Activity、Service、AppWidget、Broadcast、Intent、Notification、XML布局、XML配置等基础知识之后,尝试着做一个小玩意儿——电池监控,期间也是阻挠多多,现在基本完成了,所以把自己的经验分享给大家,希望能通过我的文章让还不会的朋友少走弯路,也算是这个小玩意儿的一点贡献。由于时间有限,bill假设读者已经具备并能基本使用上述基础知识,本文将只描述如何利用上述知识构建一个监控A...
Android开机启动Activity或者Service方法

Android开机启动Activity或者Service方法

这段时间在做Android的基础开发,现在有一需求是开机启动,按照网上某些博文教程做了下,始终不成功,一开机总是提示所启动的应用程序意外终止,于是参考了Android SDK doc,终于解决问题,下面把自己的经验分享给大家。Android开机启动Activity或者Service方法【原理】当Android系统完成BOOT阶段之后,就会发送一条名为 ACTION_BOOT_COMPLETED 的广播,我们便可在一个BroadcastReceiver中捕获...
Android SQLite3命令详解

Android SQLite3命令详解

SQLite3: 一个SQLite数据库的命令行接口 SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。本文档提供一个样使用sqlite3的简要说明。开始 启动sqlite3程序,仅仅需要敲入带有SQLite数据库名字的"sqlite3"命令即可。如果文件不存在,则创建一个新的(数据库)文件。然后 sqlite3程序将提示你输入SQL。敲入SQL语句(以分号“;”结束),敲回车键之后,SQ...
Android开发教程:浅谈Content Provider

Android开发教程:浅谈Content Provider

一.Content Provider的概念介绍Content Providers是所有应用程序之间数据存储和检索的桥梁,它使得各个应用程序之间实现数据共享。是应用程序间共享数据的唯一途径。Content Provider 主要的功能就是存储并检索数据以及向其他应用程序提供访问数据的接口。其中包括添加,删除,查询,更新等操作。在Content Provider使用过程中,还需要借用ContentResolver对象间接来操作ContentProvider来获...
Android开发教程:数据存取之SQLite浅析

Android开发教程:数据存取之SQLite浅析

一.SQLite的介绍1.SQLite简介SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C++、.Net等,还有ODBC接口,同样比起 Mysql、PostgreSQL这两款开...
Android开发教程:数据存取之File浅析

Android开发教程:数据存取之File浅析

Android系统中提供了一种文件读写的方法,可以将一些数据以文件的形式保存在设备中。比如一些word文档,PDF文档,图片,音频,视频文件等。使用文件读写方法的步骤:1.调用Context.openFileInput()方法获得Java文件输入流(FileInputStream)2.调用Context.openFileOutput()方法获得java文件输出流(FileOutputStream)3.使用Resources.openRawResource(...
<< 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 >>