动态链表取值

本文介绍了一个使用C语言实现的动态链表方法,通过四个嵌套循环生成四元组(nPrice1,nPrice2,nPrice3),并插入到链表中,最后遍历并输出链表中的所有值。
摘要由CSDN通过智能技术生成

int number4to3()//应用动态链表取值
{
    struct Value4 *head=0,* p=0;//定义2个指针,head为头部指针 p为普通指针用来接收head->next的值
    struct    Value4* headnext=0;
    Value4* pPre = NULL;//定义一个指针(接收p前一个的指针)
    Value4 value4;
    int i, j, z;
    int w = 0;
    int nLen = sizeof(Value4);//确定结构体大小
    struct Value4  gJ[100];//定义结构体指针
    for (i = 1;i <= 4;i++)
    {
        value4.nPrice1 = i;
        for (j = 1;j <= 4;j++)
        {
            if (j != i)
                value4.nPrice2 = j;
            else
                continue;
            for (z = 1;z <= 4;z++)
            {
                if (z != i && z != j)
                    value4.nPrice3 = z;
                else
                    continue;
                
     if (w==0)//分情况w==0时相当于第一个值,只有下一个值(当w==0时才进入)
                {
    head = (struct Value4*)malloc(nLen);//开辟一个新单元,并让p和head指向它
        head->nPrice1 = i, head->nPrice2 = j, head->nPrice3 = z;//给head指针的变量赋值
            head->next = NULL;//head指向的下一个为空
            pPre = head;//p的上一个链为
    printf("%d%d%d\n",head->nPrice1, head->nPrice2, head->nPrice3);//输出head指针的值
                }
                else if(w>0)//当w>0时进入
                {
                    p = (struct Value4*)malloc(nLen);//第二个单元
                    p->nPrice1 = i, p->nPrice2 = j, p->nPrice3=z;//赋循环的值
                    p->next = NULL;//定义p指针的下一个为空
                    // 赋值上一个next指针
                    pPre->next = p;
                    // 保存指针
                    pPre = p;

 
     printf("%d%d%d\n", p->nPrice1, p->nPrice2, p->nPrice3);//输出p指针的值
                }
                w++;//对w进行自加1
                }
            }
        }
         struct  Value4* phead = head;//定义一个临时变量
    while (phead!=NULL)//条件判断
    {
        printf("%d%d%d\n", phead->nPrice1, phead->nPrice2, phead->nPrice3);//指针给值
        phead = phead->next;//指针指向链表下一个指
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值