⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cqueue.java

📁 基于中科院的ICTCLAS实现中文分词系统 开发工具是JAVA.经测试,效果很好
💻 JAVA
字号:
package com.gftech.ictclas4j.segment;

import java.util.ArrayList;

public class CQueue {
	// The chain sort according the weight of shortest path
	private ArrayList<TagQueueElem> m_pHead;

	// The node last accessed
	private int m_pLastAccess;

	public CQueue() {
		m_pLastAccess=-1;
	}

	public boolean IsSingle() {
		return (m_pHead != null && m_pHead.size() == 1);

	}
	public boolean IsEmpty(){
		return IsEmpty(false);
	}
	public boolean IsEmpty(boolean bBrowsed) {
		if (bBrowsed)
			return m_pLastAccess >= 0;
		else
			return m_pHead != null && m_pHead.size() > 0;
	}

	/**
	 * 
	 * @param nValue
	 *            The value for parent node
	 * @param nIndex
	 *            number of index in the parent node
	 * @param eWeight
	 *            the weight of last path
	 * @return
	 */
	public boolean Push(int nValue, int nIndex, double eWeight) {
		TagQueueElem tqe = new TagQueueElem();
		tqe.eWeight = eWeight;
		tqe.nIndex = nIndex;
		tqe.nParent = nValue;

		for (int i = 0; i < m_pHead.size(); i++) {
			TagQueueElem elem = m_pHead.get(i);
			if (elem.eWeight >= eWeight) {
				m_pHead.add(i, tqe);
				return true;
			}
		}

		return false;
	}
	
	public boolean Push(int nValue, int nIndex){
		return Push(nValue,nIndex,0);
	}

	public TagQueueElem Pop(boolean bModify, boolean bFirstGet) {
		int index = 0;
		TagQueueElem elem = null;

		if (!bModify)
			if (bFirstGet)
				index = m_pLastAccess;

		for (int i = 0; i < m_pHead.size(); i++) {
			if (i == index) {
				elem = m_pHead.get(i);
				if (bModify)
					m_pHead.remove(i);
				else
					m_pLastAccess = i + 1;

				break;
			}
		}

		return elem;
	}
	
	public TagQueueElem Pop(){
		return Pop(true,true);
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -