资源简介
1、IP地址查询
输入文件是IPAddr.txt,该文件描述了不同地区、不同用户获得的公有IP地址块信息。要求将该文件中的数据到线性表中,并完成以下的功能。
1)使用静态链表作为存储结构
2)静态链表使用动态数组,数组容量N根据数据集大小确定,N自定义,应是2n
3)实现线性表的4个基本操作
4)附加功能:
4.1)输入一个点分十进制的IPv4地址,能够查询其所属机构。
4.2)输入一个机构名称,若存在,输出其拥有IP地址的范围,若不存在,输出相应的信息。
4.3)筛选出所有者名称中以“大学”或“学院”结尾的机构,按拥有IP地址数从大到小排列输出。
代码片段和文件信息
/*
2018-6-28
1、IP地址查询
输入文件是IPAddr.txt,该文件描述了不同地区、不同用户获得的公有IP地址块信息。要求将该文件中的数据到线性表中,并完成以下的功能。
1)使用静态链表作为存储结构
2)静态链表使用动态数组,数组容量N根据数据集大小确定,N自定义,应是2n
3)实现线性表的4个基本操作
4)附加功能:
4.1)输入一个点分十进制的IPv4地址,能够查询其所属机构。
4.2)输入一个机构名称,若存在,输出其拥有IP地址的范围,若不存在,输出相应的信息。
4.3)筛选出所有者名称中以“大学”或“学院”结尾的机构,按拥有IP地址数从大到小排列输出。
*/
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const int MaxSize = 100;
typedef struct data
{
string start;
string last;
string address1;
string address2;
}Data;
template
class StaticList
{
public:
typedef struct
{
Data data;
int next;
}Node;
StaticList(); //
StaticList(DataType a[] int n); //
~StaticList() {} //
int Length() { return length; } //
void Get(int i); //
int Locate(string x); //
string Locate2(string x);
void Insert(int i DataType a1 DataType a2 DataType a3 DataType a4); //
void Delete(int i); //
void PrintList(); //
private:
vector SList; //
int length; //
int avail;
};
/*long Stol(string str)
{
long result;
istringstream is(str);
is >> result;
return result;
}*/
vector split(const string &s const string &seperator) {
vector result;
typedef string::size_type string_size;
string_size i = 0;
while (i != s.size()) {
//找到字符串中首个不等于分隔符的字母;
int flag = 0;
while (i != s.size() && flag == 0) {
flag = 1;
for (string_size x = 0; x < seperator.size(); ++x)
if (s[i] == seperator[x]) {
++i;
flag = 0;
break;
}
}
//找到又一个分隔符,将两个分隔符之间的字符串取出;
flag = 0;
string_size j = i;
while (j != s.size() && flag == 0) {
for (string_size x = 0; x < seperator.size(); ++x)
if (s[j] == seperator[x]) {
flag = 1;
break;
}
if (flag == 0)
++j;
}
if (i != j) {
result.push_back(s.substr(i j - i));
i = j;
}
}
return result;
}
template
StaticList::StaticList()
{
length = 0;
/*for (int i = 1; i {
SList[i].next = i + 1;
}
SList[SList.max_size - 1].next = -1;*/
avail = 1;
//SList[0].next =avail;
ifstream fin(“IPAddr2.txt“);
string temp;
int i = 0;
cout << “Loding...“ << endl;
while (getline(fin temp))//导入数据
{
vector s = split(temp ““);
//long a1 = Stol(s[0]);
//long a2 = Stol(s[1]);
Node TempNode;
TempNode.data.start = s[0];
TempNode.data.last = s[1];
TempNode.data.address1 = s[2];
if (s.size() == 4)
{
TempNode.data.address2 = s[3];
}
else
{
TempNode.data.address2 = “ “;
}
TempNode.next = i + 1;
SList.push_back(TempNode);
//cout << data[i].English << “ “ << data[i].Chinese << endl;
i++;
}
length = i - 1;
avail = i;
cout << “Loaded dictionar
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-07-02 15:25 IP1.2\
目录 0 2018-07-02 15:21 IP1.2\.vs\
目录 0 2018-07-02 15:21 IP1.2\.vs\IP1.2\
目录 0 2018-07-05 21:57 IP1.2\.vs\IP1.2\v15\
文件 30720 2018-07-05 21:57 IP1.2\.vs\IP1.2\v15\.suo
文件 5623808 2018-07-05 21:57 IP1.2\.vs\IP1.2\v15\Browse.VC.db
目录 0 2018-07-02 15:22 IP1.2\.vs\IP1.2\v15\ipch\
目录 0 2018-07-02 15:22 IP1.2\.vs\IP1.2\v15\ipch\AutoPCH\
目录 0 2018-07-02 15:22 IP1.2\.vs\IP1.2\v15\ipch\AutoPCH\c13797db76a30530\
文件 33947648 2018-07-05 21:55 IP1.2\.vs\IP1.2\v15\ipch\AutoPCH\c13797db76a30530\IP1.2.ipch
目录 0 2018-07-05 21:56 IP1.2\Debug\
文件 181760 2018-07-05 21:56 IP1.2\Debug\IP1.2.exe
文件 833912 2018-07-05 21:56 IP1.2\Debug\IP1.2.ilk
文件 839680 2018-07-05 21:56 IP1.2\Debug\IP1.2.pdb
目录 0 2018-07-05 21:56 IP1.2\IP1.2\
目录 0 2018-07-05 21:56 IP1.2\IP1.2\Debug\
文件 776 2018-07-05 21:55 IP1.2\IP1.2\Debug\IP1.2.Build.CppClean.log
文件 372 2018-07-05 21:56 IP1.2\IP1.2\Debug\IP1.2.log
文件 700362 2018-07-05 21:56 IP1.2\IP1.2\Debug\IP1.2.obj
目录 0 2018-07-05 21:56 IP1.2\IP1.2\Debug\IP1.2.tlog\
文件 630 2018-07-05 21:56 IP1.2\IP1.2\Debug\IP1.2.tlog\CL.command.1.tlog
文件 19774 2018-07-05 21:56 IP1.2\IP1.2\Debug\IP1.2.tlog\CL.read.1.tlog
文件 448 2018-07-05 21:56 IP1.2\IP1.2\Debug\IP1.2.tlog\CL.write.1.tlog
文件 209 2018-07-05 21:56 IP1.2\IP1.2\Debug\IP1.2.tlog\IP1.2.lastbuildstate
文件 1098 2018-07-05 21:56 IP1.2\IP1.2\Debug\IP1.2.tlog\li
文件 4080 2018-07-05 21:56 IP1.2\IP1.2\Debug\IP1.2.tlog\li
文件 424 2018-07-05 21:56 IP1.2\IP1.2\Debug\IP1.2.tlog\li
文件 150528 2018-07-05 21:56 IP1.2\IP1.2\Debug\vc141.idb
文件 487424 2018-07-05 21:56 IP1.2\IP1.2\Debug\vc141.pdb
文件 9564 2018-07-05 21:56 IP1.2\IP1.2\IP1.2.cpp
文件 5943 2018-07-02 15:22 IP1.2\IP1.2\IP1.2.vcxproj
............此处省略4个文件信息
- 上一篇:训练集与测试集文件.rar
- 下一篇:Tower_Hanoi.rar
评论
共有 条评论