|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- typedef struct LNode{
- int data;
- struct LNode *next;
- }LNode,*LinkList;
- // 初始化带头结点
- void InitList (LinkList &L){
- L = (LNode *)malloc(sizeof(LNode));
- L->next = NULL;
- }
- // 按位查找
- LNode * GetElem (LinkList L,int i){
- if (i < 0)
- return NULL;
- LNode *p = L;
- int j = 0;
- while (p != NULL && j < i){
- p = p->next;
- j++;
- }
- return p;
- }
- // 逆向建立,头插法
- LinkList List_HeadInsert(LinkList &L){
- LNode *s;
- int x;
- printf("逆向建立单链表,输入9999结束:\n");
- scanf("%d",&x);
- while (x != 9999){
- s = (LNode *)malloc(sizeof(LNode));
- s->data = x;
- s->next = L->next;
- L->next = s;
- scanf("%d",&x);
- }
- return L;
- }
- int main(){
- LinkList L;
- InitList(L);
- List_HeadInsert(L);
- LNode *x = GetElem(L,1);
- printf("%d\n",*x);
-
- return 0;
- }
复制代码
运行结果是这样的
逆向建立单链表,输入9999结束:
1 2 3 9999
6487552
输出了一个6487552
代码是按照王道考研书上写的,我就想试试可是结果总是不对,求教
输出的时候直接解引用怎么行呢,你要的是输出结构体中的 data 啊
|
|