c++ 数据结构 链表

1.建立链表

建立链表的步骤是:
先写一个结构体类型,明确你这个链表都需要哪些东西。
比如:
struct List
{
List * p; // 指针,记录子节点的位置
int value; // 数据成员,存放数据的变量
};

然后就可以建立链表了。
List * head; // 首先申明一个头指针,记录链表的首地址,类似数组的首地址
List * temp; // 一个临时变量,之后你会知道他的作用
head = new List; // 然后就新建一个链节,用new来建立
head->p = NULL; // 把不需要的指针NULL是好习惯
head->value = 0; // 记录该节点的数据
这样就完成了一个链表的第一个链节的建立。

之后的建立完全类似:
head->p = new List; // 再新建一个节点
temp = head->p; // 让临时指针指向这个新建的节点,以后的操作就可以用temp完成了
temp->p = NULL; // 尾指针赋值为NULL
temp->value = 1; // 记录该节点的数据。

就是这样,每个节点里面都有一个指针指向下一个节点,最后一个节点的指针(尾指针)是NULL,意味着链表的结束。

链表建立之后,你就可以从首节点一个一个找,直到找到你想找的节点了。
短距离可以:
head->p->p->……->value;
很长的话就再用一个临时变量中转一下吧。
具体代码可参考:http://wenku.baidu.com/link?url=gOAwSbnbSL2kkpb5SBOU7HkELjBJ5CxyYmywzu7f5POeTfYS_8p6DDrWTC9TVLj9M2HEkGk00iW_odlSwQbm8YsS0GAtd4xQEJBK3tSxAr_
->:如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”.

head=(Node*)malloc(sizeof(Node)):先用sizeof取出结构体中的Node的大小,在用malloc申请分配出这么大小的内存,并把首地址赋值给head中
malloc只管分配内存,并不能对所得的内存进行初始化,所以得到的一片新内存中,其值将是随机的
& 表示取内存地址。&a表示取a的内存地址
编译的时候报错“Cannot open include file: 'iostream.h': No such file or directory”。需要加入这个语句,using namespace std; 不然编译器报错   
需要iostream.h支持

cout<<" "表示在程序运行时在那个黑框子显示出你" "内的你所键入的内容。
cin>>a;键盘读入数据赋值给a;
c++中的setw(n)是设置域宽。就是你的输出要占多少个字符  


2.MFC:

1.CFileDialog
文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下:
CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );
http://baike.baidu.com/link?url=uxnqAUQZADpGm63tToQK3w8ooRA8lr7X9a36DOhUPQbDcWGxdgKmWLq0rnWbDDvRvRws8gmPLJMy9AfzCZVHN_#6

2.LIST CONTRol:
http://blog.csdn.net/j6915819/article/details/8135220
http://bbs.csdn.net/topics/390013761
http://bbs.csdn.net/topics/390774819
http://blog.csdn.net/snsn1984/article/details/5388334  重要!!

3.从TXT读到LIST CONTROL:
http://bbs.csdn.net/topics/390013761
http://baike.baidu.com/link?url=Av6C9TisloKFOSCumoXrexRTH-zVaWxMOlT8rKH5ukxMJBjMz2r8TxCA3kdCuyQ1ZBGTDhcljUtNEm_uviezfK
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

obession

觉得有用可以打赏咖啡一杯~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值