建立简单的链表 节点是结构体
2009-10-27 22:34
295 查看
#include <iostream> using namespace std; #include <fstream> #include <string> //-----------------建立节点------------- typedef struct node { char* name; node* next; }NODE,HEAD; //-------------建立链表------------------ void main() { HEAD a; NODE b[5]; char c[2]; a.next=&(b[0]);//-----指针赋值必须为地址,所以必须加 “& 取地址运算符” for(int i=0;i<5;i++) { cout<<" i值: "<<i<<endl ; //itoa(i,c,10);// --------0 转化为字符时一个 奇怪的箭头字符? itoa((i+10),c,10);//------不是i的原因,那是哪儿ne? b[i].name=strcat(c,"jiangtao"); cout<<b[i].name<<" "; } } /* i值: 0 10jiL. i值: 1 11jiangtao i值: 2 12jiangtao i值: 3 13jiangtao i值: 4 14jiangtao Press any key to continue */
输出结果如下:
i值: 0
10jiL &+. i值: 1 //========为什么会出现乱码呢???由于strcat()函数的意义是把字串2添加到字串1,而字串1不够长
11jiangtao i值: 2
12jiangtao i值: 3
13jiangtao i值: 4
14jiangtao Press any key to continue
评价:
这个程序写的超级菜鸟,又是节点数组,又是链表,都不知道在干什么?唉,长时间不处理链表,连动态分配内存都忘了。
当然new动态分配的内存,必须用delete 进行释放。
用 malloc 动态分配的内存,必须用free 进行释放。
不要忘了,对指针赋值NULL,防止成为野指针。
相关文章推荐
- 建立一个简单的链表,它由三个学生数据的结点组成输出各节点中的数据。
- 单链表的建立、插入、删除等简单操作
- 简单链表的建立
- 总结体验1:就比如上面自己写的单链表建立这样的程序,其实明明知道输出单链表不能从头结点开始输入,而是要在第一个节点开始
- 建立一个带附加头结点的单链表.实现测长/打印/删除结点/插入结点/逆置/查找中间节点/查找倒数第k个节点/判断是否有环
- 重拾C/C++ 使用Struct结构建立简单的链表
- 简单链表的建立
- 结束结构体与简单链表
- 简单算法 - 找到链表的中间点和倒数第K个节点(普通方法和快慢指针方法开销一样)
- 将节点插入到建立起来的有序链表中
- 简单数据结构之链表(有头节点)
- C实现简单单向链表,一次遍历查找倒数第k个节点的值
- 简单的链表结构体
- 头插法和尾插法建立带头节点的单链表
- 链表的建立、删除节点、侧长和打印;
- 通过结构体,建立动态链表,并输出链表
- 第二周(课上例题)——建立和输出一个简单的链表
- 【C语言】 链表 单链的建立,节点增加 删除 顺序插入
- 简单数据结构之链表(无头节点)
- java建立双向链表,插入结点,删除节点