depotdata.c

来自「mico_example_siegel c源代码」· C语言 代码 · 共 55 行

C
55
字号
#include "DepotData.h"/* unsigned long DepotData::Locate(const POS::Barcode bc,AStore::ItemInfo &i) { */unsigned long DepotData::Locate(const char* bc,AStore::ItemInfo &i) {  TreeNode *t;  unsigned long status=LocateNode(bc,t);  if (status)    i=t->m_item;  return status;}void DepotData::Insert(const AStore::ItemInfo &i) {  TreeNode *temp;  const char *s = i.Item;  if (!LocateNode(s,temp)) {    TreeNode *new_node=new TreeNode;    new_node->m_item=i;    if (m_root==0) {      m_root=new_node;      return;    }    if (strcmp(i.Item,temp->m_item.Item)<0)      temp->m_left=new_node;    else      temp->m_right=new_node;  }  else {    temp->m_item=i;  }}/* unsigned long DepotData::LocateNode(const POS::Barcode bc, TreeNode * &ret_node) { */unsigned long DepotData::LocateNode(const char* bc, TreeNode * &ret_node) {  int compare;  ret_node=m_root;  if (ret_node==0) return 0;  compare=strcmp(bc,ret_node->m_item.Item);  while (compare!=0) {    if (compare<0) {      if (ret_node->m_left==0)        return 0;      else        ret_node=ret_node->m_left;    }    else {      if (ret_node->m_right==0)        return 0;      else        ret_node=ret_node->m_right;    }    compare=strcmp(bc,ret_node->m_item.Item);  }  return 1;}

⌨️ 快捷键说明

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