鱼C论坛

 找回密码
 立即注册
查看: 3865|回复: 11

[技术交流] 小甲鱼老湿留的作业

[复制链接]
发表于 2013-5-16 09:26:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
不懂英文都是用拼音写的,让各位见笑了。请大家指正。
                       /*     1.查看链表
                                                          2.创建链表(尾插法)
                                                          3.链表长度      
                                                          4.中间节点值
                                                          0.退出
                                                          请选择你的操作:

                              功能:编程实现以上内容。
                                                          */

#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>

typedef struct  s
{
         int data;
         struct s  *next;
}node;

node *chuangjian();                   //创建链表
void shuchu(node *phome);             //遍历输出
int changdu(node *phome);             //链表长度
int jiedian(node *phome);             //中间节点

void main()
{
          node *phome;
          char ch;

          printf("1.查看链表\n");
          printf("2.创建链表(尾插法)\n");
          printf("3.链表长度\n");
          printf("4.中间节点值\n");
          printf("0.退出\n\n");
          printf("请选择你的操作:\n\n");

          phome=chuangjian();
          while((ch=getchar()) != '0')
          {
               switch(ch)
                   {
                                case '1': shuchu(phome);break;
                                case '2': printf("\n链表创建成功(尾插法)\n"); shuchu(phome);break;
                                case '3': printf("\n链表的长度是:%d\n\n",changdu(phome));break;
                                case '4': printf("\n链表中间节点的数据是:%d\n\n",jiedian(phome));break;
                                 default: printf("输入的数据错误\n");
                   }
               ch=getchar();
          }
}

node *chuangjian()                   //创建链表
{
          node *p,*p1,*p2;
          int i;

          p=p1=p2=NULL;
          for(i=0; i<=10; i++)
          {
                   p1=(node *)malloc(sizeof(node));
                   if(i==0)
                   {
                          p=p2=p1;
                   }
                   else
                   {
                           p2->next =p1;
                           p1->data =i;
                   }
                   p2=p1;

          }
          p1->next =NULL;
          return p;
}

void shuchu(node *phome)             //遍历输出
{
     node *p=phome;

         printf("链表的各数据如下:\n");
         while(p->next)
         {
                  p=p->next ;
                  printf("%5d",p->data );
         }
         printf("\n\n");
}

int changdu(node *phome)            //链表长度
{
       node *p=phome;
       int i=0;

       while(p->next)
           {
                    p=p->next ;
                    i++;
           }
       return i;
}

int jiedian(node *phome)            //中间节点
{
      int i;
          node *kuai,*man;
          kuai=man=phome;

          while(kuai->next !=NULL)
          {
               if(kuai->next ->next  !=NULL)
                   {
                            kuai=kuai->next ->next;
                             man=man->next ;
                   }
               else
                   {
                         kuai=kuai->next ;
                   }
          }
          
      return man->data ;
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-16 12:50:00 | 显示全部楼层
无回帖,不论坛,这才是人道。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-16 13:24:16 | 显示全部楼层
感恩无私的分享与奉献 :)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-20 10:02:26 | 显示全部楼层
激动人心,无法言表!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-27 22:40:49 | 显示全部楼层
我只是路过打酱油的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-28 14:23:43 | 显示全部楼层
强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-28 14:47:03 | 显示全部楼层
想起了当年我大一时的作业
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-28 18:02:04 | 显示全部楼层
强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-5-31 13:39:16 | 显示全部楼层
无回帖,不论坛,这才是人道。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-2 21:58:07 | 显示全部楼层
向你学习 谢谢lz
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-3 19:19:49 | 显示全部楼层
支持楼主 向你学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-3-15 19:53:04 | 显示全部楼层
好人必有回报!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 03:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表