本文整理汇总了C++中LinkList::Delete方法的典型用法代码示例。如果您正苦于以下问题:C++ LinkList::Delete方法的具体用法?C++ LinkList::Delete怎么用?C++ LinkList::Delete使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LinkList
的用法示例。
在下文中一共展示了LinkList::Delete方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main()
{
int a[] = {1,9,3,5,19,38,29,2,4,25,61,-1,7};
LinkList<int>* list = new LinkList<int>(a, 13);
list->PrintLinkList();
int listlength = list->ListLength();
std::cout<<"the list length is"<<listlength<<std::endl;
int theLastElement = list->Get(13);
assert(theLastElement == 7);
std::cout<<"the last element value is"<< theLastElement << std::endl;
std::cout<<"the values that the array contained currently display"<<std::endl;
list->PrintLinkList();
std::cout<<std::endl;
std::cout<<"delete the eigth element 2";
std::cout<<std::endl;
list->Delete(8);
std::cout<<"the values that the array contained currently display"<<std::endl;
std::cout<<"the position of 61 is";
std::cout<<std::endl;
int position = list->Locate(61);
std::cout<<std::endl;
std::cout<<position<<std::endl;
std::cout<<"the values that the array contained currently display"<<std::endl;
list->PrintLinkList();
std::cout<<std::endl;
std::cout<<"now we add a value at first position"<<std::endl;
list->Insert(1, 11111);
std::cout<<"the values that the array contained currently display"<<std::endl;
list->PrintLinkList();
std::cout<<std::endl;
list->Invert();
std::cout<<"the invert array list is"<<std::endl;
list->PrintLinkList();
}
示例2: main
int main()
{
LinkList<int> ll;
cout << "Created a link list..." << endl;
cout << "length = " << ll.Count() << endl;
for (int i = 1; i <= 10; i++)
{
int val = i * 2;
ll.Insert(val, ll.Count() + 1);
cout << val << " inserted. length = " << ll.Count() << endl;
}
Display(ll);
cout << "Reversing ..." << endl;
ll.Reverse();
Display(ll);
cout << "Reversing again ..." << endl;
ll.Reverse();
Display(ll);
int idx = 1;
int val = ll.Get(idx);
cout << "Get(" << idx << ") = " << val << "." << endl;
idx = ll.Locate(val);
cout << "Locate(" << val << ") = " << idx << "." << endl;
if (idx == ll.Locate(val))
{
cout << val << " is at " << idx << "." << endl;
}
idx = 7;
val = ll.Get(idx);
if (idx == ll.Locate(val))
{
cout << val << " is at " << idx << "." << endl;
}
idx = ll.Count();
val = ll.Get(idx);
if (idx == ll.Locate(val))
{
cout << val << " is at " << idx << "." << endl;
}
val = 9999999;
if (-1 == ll.Locate(val))
{
cout << "Unable to locate " << val << "." << endl;
}
cout << "Inserting 3 at 3 ..." << endl;
ll.Insert(3, 3);
Display(ll);
cout << "Deleting 3 ..." << endl;
ll.Delete(3);
Display(ll);
cout << "Inserting 0 at 1 ..." << endl;
ll.Insert(0, 1);
Display(ll);
cout << "Deleting 0 ..." << endl;
ll.Delete(1);
Display(ll);
cout << "Inserting 11 at 12 ..." << endl;
ll.Insert(11, 11);
Display(ll);
cout << "Deleting 11 ..." << endl;
ll.Delete(11);
Display(ll);
try
{
cout << "call LinkList<int> lla = ll ..." << endl;
LinkList<int> lla = ll;
cout << "lla.length = " << lla.Count() << endl;
cout << "call LinkList<int> llb(ll) ..." << endl;
LinkList<int> llb(ll);
cout << "llb.length = " << llb.Count() << endl;
llb.Insert(77, 7);
cout << "llb.length = " << llb.Count() << endl;
cout << "call llb = lla ..." << endl;
llb = lla;
cout << "llb.length = " << llb.Count() << endl;
cout << "lla.length = " << lla.Count() << endl;
cout << "Splitting llb ..." << endl;
llb.Insert(88, 8);
cout << "llb.length = " << llb.Count() << endl;
LinkList<int> llb2 = llb.Split();
Display(llb);
Display(llb2);
cout << "Splitting ll ..." << endl;
LinkList<int> llc = ll.Split();
Display(ll);
Display(llc);
//.........这里部分代码省略.........
示例3: paint
//.........这里部分代码省略.........
sort.push_back(p->data);
p = p->next;
}
for(j = 0; j < sort.size(); j++) //对sort中的值排序,扫描线生成时需要所有点从小到大排好
{
for(k = 0; k < sort.size() - 1; k++)
{
if(sort[k].x > sort[k+1].x)
Sort(sort[k], sort[k+1]); //值交换,开头声明的Sort函数就是在这里用的
}
}
p = AEL.first->next;
j = 0;
while(p && j < sort.size()) //将排好序的结点在放回AEL链表中
{
Sort(p->data, sort[j]);
j++;
p = p->next;
}
sort.clear();
}
//扫描线生成,核心中的核心
p = AEL.first->next;
if(p) //判断AEL中是否有结点
{
for(j = 1; j <= AEL.Length(); j++)
{
k = AEL.Get(j).y; //取出每个结点的y的值,判断与当前扫描线的y坐标值即i比较,判断是否已经到线段顶部
if(k <= i) //这里我用了一个小技巧,没有按课上讲的通过端点是否为极值点来判断端点应该去还是留
//我用的方法是判断端点是线段起点还是终点,是起点的改点保存,是终点就delete,
{
AEL.Delete(j);
j--;
}
}
p = AEL.first;
while(p->next) //将AEL链表中的点信息结点两两取出连线
{
p = p->next;
q = p->next;
k = (p->data.x + 0.5); //简单的四舍五入取整
j = (q->data.x + 0.5);
switch(Bcolor)
{
case red://红
glColor3f(1.0,0.0,0.0);
glBegin(GL_LINES);
glVertex2i(k, i);
glVertex2i(j, i);
glEnd();
break;
case green://绿
glColor3f(0.0,1.0,0.0);
glBegin(GL_LINES);
glVertex2i(k, i);
glVertex2i(j, i);
glEnd();
break;
case blue://蓝
glColor3f(0.0,0.0,1.0);
glBegin(GL_LINES);
glVertex2i(k, i);