当前位置:编程学习 > VB >>

谁知道怎么实现c++单链表的创建与基本操作

完整的,不是单独的算法
追问:能不能举个例子,创建一个简单的单链表,其中包含插入操作。
答案:Blog里面有这样的例子 有兴趣去看看。

/*-------------------------------------------------------------*/ 
/* main.cpp    数据结构-动态链表                               */ 
/* Written By mrandexe                                         */ 
/*-------------------------------------------------------------*/
#include <iostream>
using namespace std;

typedef struct stu
{
 int Num;
 char Name[10];
 struct stu *Next;
}student;

student *create()
{
 int DataNum = 1;
 char Q[10]="Q";
 student *Head, *p1, *p2;
 Head = (student *)malloc(sizeof(student));                   //申请内存空间
 if (Head==NULL)
 {
  cout << "申请内存空间失败!";
 }
 else
 {
  Head->Num = DataNum;
  cout << "请输入" << DataNum << "号同学姓名和分数:(输入Q退出)";
  cin >> Head->Name;
  if (0==strcmp(Head->Name, Q))
  {
   return NULL;
  }
  Head->Next = NULL;
  p2 = Head;

  while (1)
  {
   DataNum++;
   p1 = (student *)malloc(sizeof(student));                                  //申请内存空间
   p1->Num = DataNum;
   cout << "请输入" << DataNum << "号同学姓名和分数:(输入Q退出)";
   cin >> p1->Name;
   if (0==strcmp(p1->Name, Q))
   {
    break;
   }
   p1->Next = NULL;
   p2->Next = p1;
   p2 = p1;
  }
 }
 
 return Head;
}

void print(student *L)
{
 do
 {
  cout << L->Num << "号同学姓名:" << L->Name << endl;
  L = L->Next;
 } while (L!=NULL);
}

int main()
{
 student *H;
 H = create();
 if (H != NULL)
 {
  print(H);
 }

 return 0;
}


本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/mrandexe/

用STL里面提供的比较方便,使用如下:#include<list>#include<iostream>using namespace std;void main(){list<int> mylist;……;}具体的操作包括:
assign()给list赋值
back()返回最后一个元素
begin()返回指向第一个元素的迭代器
clear()删除所有元素
empty()如果list是空的则返回true
end()返回末尾的迭代器
erase()删除一个元素
front()返回第一个元素
get_allocator()返回list的配置器
insert()插入一个元素到list中
max_size()返回list能容纳的最大元素数量
merge()合并两个list
pop_back()删除最后一个元素
pop_front()删除第一个元素
push_back()在list的末尾添加一个元素
push_front()在list的头部添加一个元素
rbegin()返回指向第一个元素的逆向迭代器
remove()从list删除元素
remove_if()按指定条件删除元素
rend()指向list末尾的逆向迭代器
resize()改变list的大小
reverse()把list的元素倒转
size()返回list中的元素个数
sort()给list排序
splice()合并两个list
swap()交换两个list
unique()删除list中重复的元素

上一个:vb考什么内容
下一个:VB基础求解

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,