当前位置:  编程技术>综合
本页文章导读:
    ▪基于链式存储结构的栈      基于链式存储结构的栈和单链表几乎没差,不同的地方在链栈也是只能在一端进行存取操作,而单链表则可以在任何位置进行。单链表的建立分为前插法和后插法,前插法是将每次新插入的结.........
    ▪libcorejni.project      <?xml version="1.0" encoding="UTF-8"?> <CodeLite_Project Name="libcorejni" InternalType="Library">   <Plugins>     <Plugin Name="qmake">       <!.........
    ▪异步复位和同步释放电路的详细解释       如图第一个方框内是异步复位和同步释放电路。有两个D触发器构成。第一级D触发器的输入时VCC,第二级触发器输出是可以异步复位,同步释放后的复位信号。 电路目的:方式复位信号撤.........

[1]基于链式存储结构的栈
    来源: 互联网  发布时间: 2013-11-10

基于链式存储结构的栈和单链表几乎没差,不同的地方在链栈也是只能在一端进行存取操作,而单链表则可以在任何位置进行。单链表的建立分为前插法和后插法,前插法是将每次新插入的结点作为头,后插法是将每一次新进入的结点放在最后面。链栈的建立用前插法是很方便的。

链栈的结点类和单链表的一样:

#pragma once
#include<iostream>
using namespace std;
template<class T>
class LinkNode
{
public:
	T data;
	LinkNode *link;
public:
	LinkNode()
	{
		link = NULL; //初始化 指针域为空,data域未知  
	}
	LinkNode(T &da)
	{
		data = da;//传参的构造函数,给data域赋值
		link = NULL; //指针域仍未空
	}

	~LinkNode()//析构函数 可为空
	{}
};
链式栈结构中的top真的成为了一个指针,是一个结点类型指针,用来指向栈顶元素的位置。

//链栈作用在不知道栈元素多少的情况下,便于合理利用空间,不会造成浪费
//没有最大MAXSIZE属性值,也没有栈溢出判断,没有头结点
#pragma once
#include"LinkNode.h"
#include<iostream>
using namespace std;
template<class T>
class Stack
{
	LinkNode<T> *top;//首指针
public:
	Stack();
	Stack(Stack<T> &S);
	~Stack();
	void makeEmpty();//销毁链栈
	
	LinkNode<T> * GetTop();//返回链栈的 首指针top
	void push(T elem);//进栈
	T pop();//出栈,这里是链栈 返回的是指向当前栈顶元素的指针(最好返回元素值)
	int Length();//求栈当前的大小
	bool isEmpty();//判链栈空
	void output();//一次性全部输出链栈元素,仍从栈顶出

	void operator= (Stack<T> &S);//复制函数
};
template<class T>
Stack<T>::Stack()
{
	top = NULL;//初始化 首指针为空,即为空栈
}
template<class T>
Stack<T>::Stack(Stack<T> &S)//切记勿忘 <T>
{
	LinkNode<T> *srcptr = S.GetTop();
	LinkNode<T> *destptr = top = NULL;
	LinkNode<T> *newNode;
	T elem;//临时存储变量

	elem = srcptr->data;
	newNode = new LinkNode<T>(elem);
	top = newNode;//此四步骤 是为了解决没有头结点 需先为当前连战的top值赋值 此后保存首指针
	destptr = top;
	srcptr = srcptr->link;//关键的一句,要不然从此和top断开 
	//从第二个开始循环复制
	while(srcptr !=	NULL)
	{
		elem = srcptr->data;//获取当前指针所指向的元素值
		newNode = new LinkNode<T>(elem);//以此元素值为参数 new出新的
		destptr->link = newNode;//然后放在当前链栈的后面

		srcptr = srcptr->link;//两个链栈指针后移一位
		destptr = destptr->link;
	}
}
template<class T>
Stack<T>::~Stack()
{
	makeEmpty();
}
template<class T>
void Stack<T>::makeEmpty()
{
	LinkNode<T> *del;
	while(top != NULL)
	{
		del = top;//删除循环的赋值,,,del的被赋值必须是循环的
		top = del->link;
		delete del;
	}
}
template<class T>
LinkNode<T> * Stack<T>::GetTop()
{
	return top;
}
template<class T>
void Stack<T>::push(T elem)
{
	LinkNode<T> *newNode;
	newNode = new LinkNode<T>(elem);
	//if(newNode == NULL)
	//	return false;
	newNode->link = top;
	top = newNode;
	//return true;
}
template<class T>
T Stack<T>::pop()
{
	T elem;
	LinkNode<T> *del = top;
	top = del->link;
	elem = del->data;
	delete del;
	return elem;//出栈 相当于删除栈顶元素了
}

template<class T>
int Stack<T>::Length()
{
	LinkNode<T> *current = top;
	int count = 0;
	while(current != NULL)
	{
		current = current->link;
		count++;
	}
	return count;
}
template<class T>
bool Stack<T>::isEmpty()
{
	return ((top == NULL) ? true : false);
}
template<class T>
void Stack<T>::output()
{
	LinkNode<T> *current = top;
	int count = 0;
	while(current != NULL)
	{
		cout<<"#"<<count+1<<":"<<current->data<<endl;
		current = current->link;
		count++;
	}
}

template<class T>
void Stack<T>::operator= (Stack<T> &S)
{
	//makeEmpty();//先销毁栈
	LinkNode<T> *srcptr = S.GetTop();
	LinkNode<T> *destptr = top;//其实销毁后空栈top即为NULL 无须赋值
	LinkNode<T> *newNode;
	T elem;//临时存储变量

	elem = srcptr->data;
	newNode = new LinkNode<T>(elem);
	top = newNode;//此四步骤 是为了解决没有头结点 需先为当前连战的top值赋值 此后保存首指针
	destptr = top;
	srcptr = srcptr->link;
	//从第二个开始循环复制
	while(srcptr !=	NULL)
	{
		cout<<"hello1"<<endl;
		elem = srcptr->data;//获取当前指针所指向的元素值
		newNode = new LinkNode<T>(elem);//以此元素值为参数 new出新的
		destptr->link = newNode;//然后放在当前链栈的后面

		srcptr = srcptr->link;//两个链栈指针后移一位
		destptr = destptr->link;
	}
}

作者:ZLhy_ 发表于2013-1-13 13:18:13 原文链接
阅读:35 评论:0 查看评论

    
[2]libcorejni.project
    来源: 互联网  发布时间: 2013-11-10
<?xml version="1.0" encoding="UTF-8"?>
<CodeLite_Project Name="libcorejni" InternalType="Library">
  <Plugins>
    <Plugin Name="qmake">
      <![CDATA[00010001N0005Debug000000000000]]>
    </Plugin>
  </Plugins>
  <Description/>
  <Dependencies/>
  <VirtualDirectory Name="src">
    <VirtualDirectory Name="jni">
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Xfermode.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Utils.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Typeface.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Shader.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Region.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Rasterizer.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/PorterDuff.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Picture.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/PathMeasure.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/PathEffect.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Path.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Paint.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/NinePatchImpl.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/NinePatch.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Movie.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Matrix.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/MaskFilter.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/LayerRasterizer.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Interpolator.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Graphics.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/DrawFilter.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/com_google_android_gles_jni_EGLImpl.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/com_android_internal_os_ZygoteInit.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/com_android_internal_graphics_NativeUtils.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/ColorFilter.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Canvas.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Camera.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/BitmapRegionDecoder.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/BitmapFactory.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/Bitmap.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android/graphics/AutoDecodeCancel.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_view_ViewRoot.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_view_Surface.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_view_Display.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_util_XmlBlock.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_util_StringBlock.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_util_Process.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_util_Log.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_util_FloatMath.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_util_FileObserver.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_util_EventLog.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_util_Binder.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_util_AssetManager.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_text_KeyCharacterMap.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_text_format_Time.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_text_AndroidCharacter.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_text_AndroidBidi.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_security_Md5MessageDigest.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_pim_EventRecurrence.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_os_UEventObserver.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_os_SystemProperties.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_os_SystemClock.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_os_StatFs.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_os_Power.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_os_ParcelFileDescriptor.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_os_MessageQueue.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_os_MemoryFile.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_os_FileUtils.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_os_Debug.cpp"/>
      <File Name="../../android-omap-20111108-gingerbread/frameworks/base/core/jni/android_opengl_GLES20.cpp"/>
      <File Name="../.
    
[3]异步复位和同步释放电路的详细解释
    来源: 互联网  发布时间: 2013-11-10



如图第一个方框内是异步复位和同步释放电路。有两个D触发器构成。第一级D触发器的输入时VCC,第二级触发器输出是可以异步复位,同步释放后的复位信号。

电路目的:方式复位信号撤除时产生亚稳态事件。

所谓异步复位和同步释放,是指复位信号是异步有效的,即复位的发生与clk无关。后半句“同步释放”是指复位信号的撤除(释放)则与clk相关,即同步的。

下面说明一下如何实现异步复位和同步释放的。

异步复位:显而易见,rst_async_n异步复位后,rst_sync_n将拉低,即实现异步复位。


同步释放:这个是关键,看如何实现同步释放,即当复位信号rst_async_n撤除时,由于双缓冲电路的作用,rst_sync_n复位信号不会随着rst_async_n的撤除而撤除。

假设rst_async_n撤除时发生在clk上升沿,如果不加此电路则可能发生亚稳态事件,但是加上此电路以后,假设第一级D触发器clk上升沿时rst_async_n正好撤除,则D触发器1输出高电平“1”,此时第二级触发器也会更新输出,但是输出值为前一级触发器次clk来之前时的Q1输出状态。显然Q1之前为低电平,顾第二级触发器输出保持复位低电平,直到下一个clk来之后,才随着变为高电平。即同步释放。


module reset_gen (


output rst_sync_n,
input clk, rst_async_n);



reg rst_s1, rst_s2;
wire rst_sync_n ;
always @ (posedge clk, posedge
rst_async_n)

if (rst_async_n) begin
rst_s1 <= 1'b0;
rst_s2 <= 1'b0;
end
else begin
rst_s1 <= 1'b1;
rst_s2 <= rst_s1;
end

assign rst_sync_n = rst_s2;
endmodule

作者:lg2lh 发表于2013-1-13 13:12:25 原文链接
阅读:38 评论:0 查看评论

    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
网站运营/SEO iis7站长之家
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3