|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- #include <stdlib.h>
- #define ElemType int
- //定义单链表
- typedef struct LNode{
- ElemType data;
- LNode* next;
- }LNode ,*LinkList;
- //初始化不带头节点的单链表
- void InitList_n(LinkList &l)
- {
- l = NULL;
- }
- //尾插法建立不带头节点的单链表
- void Establish_n(LinkList l,ElemType A[],int len)
- {
- int i = 0;
- LNode* r = l, * s;
- while (i < len - 1)
- {
- s = (LNode*)malloc(sizeof(ElemType));
- s->data = A[i];
- if (NULL == r)
- {
- r = l = s;
- i++;
- continue;
- }
- r->next = s;
- r = s;
- i++;
- }
- r->next = NULL;
- }
- int main()
- {
- int A[10] = { 0,1,2,3,4,5,6,7,8,9 };
- //声明一个不带头节点的单链表
- LinkList l;
- InitList_n(l);
- Establish_n(l, A, 10);
- }
复制代码
- //定义单链表
- typedef struct LNode{
- ElemType data;
- LNode* next;
- }LNode ,*LinkList;
- LNode* r = l, * s;
- s = (LNode*)malloc(sizeof(ElemType));
复制代码
LNode *s 指针的地址不应该是4字节吧? 那么你强制转换4字节为(LNode *) 可不就造成空间破坏
你或许应该这样做:
- s = (LNode*)malloc(sizeof(LNode));
复制代码
|
|