91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 68KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-28
  • 語言: 其他
  • 標簽: 數據結構??DT??代碼??

資源簡介

DT數據結構代碼 DTlib.

資源截圖

代碼片段和文件信息

#include?
#include?
#include?“DTString.h“
#include?“Exception.h“

using?namespace?std;

namespace?DTlib
{

int*?String::make_pmt(const?char*?p)
{
????int?len?=?strlen(p);

????int*?ret?=?static_cast(malloc(sizeof(int)?*?len));

????if(?ret?!=?NULL?)
????{
????????int?ll?=?0;

????????ret[0]?=?0;

????????for(int?i?=?1;?i?????????{
????????????while(?(ll>0)?&&?(p[ll]?!=?p[i])?)
????????????{
????????????????ll?=?ret[ll?-?1];
????????????}

????????????if(?p[ll]?==?p[i]?)
????????????{
????????????????ll++;
????????????}

????????????ret[i]?=?ll;
????????}
????}

????return?ret;
}

int?String::kmp(const?char*?s?const?char*?p)
{
????int?ret?=?-1;
????int?s1?=?strlen(s);
????int?p1?=?strlen(p);

????int*?pmt?=?make_pmt(p);

????if((pmt?!=?NULL)?&&?(0?????{
????????for(int?i=0?j=0;?i????????{
????????????while((j?>?0)?&&?(s[i]?!=?p[j]))
????????????{
????????????????j?=?pmt[j-1];
????????????}

????????????if(s[i]?==?p[j])
????????????{
????????????????j++;
????????????}

????????????if(j?==?p1)
????????????{
????????????????ret?=?i?+?1?-?p1;
????????????????break;
????????????}
????????}
????}
????free(pmt);
????return?ret;
}

void?String::init(const?char*?s)
{
????m_str?=?strdup(s);//m_str指向堆空間拷貝字符串

????if(?m_str?)
????{
????????m_length?=?strlen(m_str);
????}
????else
????{
????????THROW_EXCEPTION(NoEnoughMemoryException?“No?memory?to?create?String?object...“);
????}
}

String::String()
{
????init(““);
}

String::String(char?c)
{
????char?s[]?=?{c?‘\0‘};
????init(s);
}

String::String(const?char*?s)
{
????init(s???s?:?““);
}

String::String(const?String&?s)
{
????init(s.m_str);
}

int?String::length()?const
{
????return?m_length;
}

const?char*?String::str()?const
{
????return?m_str;
}

bool?String::equal(const?char*?l?const?char*?r?int?len)?const
{
????bool?ret?=?true;

????for(int?i?=?0;?i?????{
????????ret?=?ret?&&?(l[i]?==?r[i]);
????}

????return?ret;
}

bool?String::startWith(const?char*?s)?const
{
????bool?ret?=?(s?!=?NULL);

????if(?ret?)
????{
????????int?len?=?strlen(s);

????????ret?=?(len?????}

????return?ret;
}

bool?String::startWith(const?String&?s)?const
{
????return?startWith(s.m_str);
}

bool?String::endOf(const?char*?s)?const
{
????bool?ret?=?(s?!=?NULL);

????if(?ret?)
????{
????????int?len?=?strlen(s);
????????char*?str?=?m_str?+?(m_length?-?len);

????????ret?=?(len?????}

????return?ret;
}

bool?String::endOf(const?String&?s)?const
{
????return?endOf(s.m_str);
}

String&?String::insert(int?i?const?char*?s)
{
????if((0?<=?i)?&&?(i?<=?m_length))
????{
????????if((s?!=?NULL)?&&?(s[0]?!=?‘\0‘))
????????{
????????????int?len?=?strlen(s);
????????????char*?str?=?reinterpret_cast(malloc(m_length?+?len?+1));

????????????if(str?!=?NULL)
????????????{
????????????????strncpy(str?m_str?i);
????????????????strncpy(str?+?i?s?len);
????????????????strncpy(str?+?i?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1495??2019-08-04?19:12??DTlib\Array.h

?????文件??????14846??2019-08-05?10:08??DTlib\BTree.h

?????文件????????540??2019-08-05?07:14??DTlib\BTreeNode.h

?????文件???????3244??2019-08-03?19:27??DTlib\CircleList.h

?????文件??????64368??2019-08-05?22:26??DTlib\DTlib

?????文件????????752??2019-08-05?13:46??DTlib\DTlib.pro

?????文件??????23742??2019-12-26?08:59??DTlib\DTlib.pro.user

?????文件??????18452??2019-08-05?22:59??DTlib\DTlib.pro.user.2.5pre1

?????文件???????8835??2019-08-04?05:15??DTlib\DTString.cpp

?????文件???????2318??2019-08-04?05:07??DTlib\DTString.h

?????文件???????4838??2019-08-03?21:30??DTlib\DualCircleList.h

?????文件???????5507??2019-08-03?20:48??DTlib\DuallinkList.h

?????文件???????2199??2019-07-29?22:12??DTlib\DynamicArray.h

?????文件???????1976??2019-07-29?19:52??DTlib\DynamicList.h

?????文件???????2869??2019-08-03?15:37??DTlib\Exception.cpp

?????文件???????4604??2019-12-25?17:16??DTlib\Exception.h

?????文件???????4604??2019-12-26?09:19??DTlib\Exception.h.autosave

?????文件??????14114??2019-08-05?22:24??DTlib\Graph.h

?????文件???????7845??2019-08-05?02:57??DTlib\GTree.h

?????文件????????578??2019-08-05?03:01??DTlib\GTreeNode.h

?????文件???????4962??2019-08-03?20:48??DTlib\linkList.h

?????文件???????1610??2019-08-03?23:56??DTlib\linkQueue.h

?????文件????????897??2019-08-03?22:44??DTlib\linkStack.h

?????文件??????23350??2018-12-03?00:10??DTlib\LinuxList.h

?????文件????????877??2019-08-03?11:24??DTlib\List.h

?????文件???????7525??2019-08-05?17:15??DTlib\ListGraph.h

?????文件????????543??2019-12-25?17:27??DTlib\main.cpp

?????文件???????7038??2019-08-05?13:54??DTlib\Makefile

?????文件???????6327??2019-08-05?17:15??DTlib\MatrixGraph.h

?????文件????????567??2019-08-03?22:08??DTlib\object.cpp

............此處省略19個文件信息

評論

共有 條評論