| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 736 人关注过本帖, 1 人收藏
标题:这是别人的··· 弄了半天,我也没能解决· 请大虾们看看~~~
只看楼主 加入收藏
PぴㄒLaㄨMa
Rank: 1
等 级:新手上路
帖 子:18
专家分:5
注 册:2011-1-16
结帖率:50%
收藏(1)
已结贴  问题点数:20 回复次数:9 
这是别人的··· 弄了半天,我也没能解决· 请大虾们看看~~~
#include<stdio.h>
#include<malloc.h>
typedef struct Node
{
    int data;
    struct Node *next;
}LinkList;

LinkList *CreatList()
{
    LinkList *L,*r,*s;
    L=(LinkList*)malloc(sizeof(LinkList));
    r=L;
    int x;
    scanf("%d",&x);
    while(x!=0)
    {
        s=(LinkList*)malloc(sizeof(LinkList));
        s->data=x;
        r->next=s;
        r=s;
        scanf("%d",&x);
    }
     r->next=NULL;
    return L;
}
 

LinkList *combine(LinkList *pa,LinkList*pb)
{
    LinkList *p,*q;
    p=pa;
    q=pb;
    while(p) p=p->next;
    p->next=q;
   return pa;
}

 LinkList *order(LinkList *L)
{
  LinkList *a,*b,*c;
  a=L->next;
  b=a->next;
  while(a->next!=NULL)
  {
      while(b)
      {
       if(a->data<b->data)
       {
           c->data=a->data;
           a->data=b->data;
           b->data=c->data;
       }
       b=b->next;
      }
      a=a->next;
      b=a->next;
  }
  return L;
}

int printList(LinkList *p1)
{
    LinkList *p;
    p=p1->next;
    while(p)
    {
        printf("%d ",p->data);
        p=p->next;
    }
}


   main()
{
    LinkList *LinA,*LinB,*LinC,*LinD;
    printf("请输入第一组数(以0为结束标志):");
    LinA=CreatList();
    printf("请输入第二组数(以0为结束标志):");
    LinB=CreatList();
    LinC=combine(LinA,LinB);
      printf("The List After combine is:");
    printList(LinC);
    LinD=order(LinC);
    printf("合并排序后数据为:\n");
    printList(LinD);
}
搜索更多相关主题的帖子: return 
2011-04-15 12:42
dongdong5888
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2011-4-15
收藏
得分:0 
没注释的程序没法看
2011-04-15 15:23
没有注册过的
Rank: 2
来 自:广西
等 级:论坛游民
帖 子:22
专家分:42
注 册:2011-4-16
收藏
得分:10 
// hyj2.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#include<stdio.h>
#include<malloc.h>
typedef struct Node            /*声明*/
{
    int data;
    struct Node *next;
}LinkList;

LinkList *CreatList()    /*建链表*/
{
    int x=1;
    LinkList *L,*r,*s,*t;
    L=(LinkList*)malloc(sizeof(LinkList));
    scanf("%d",&x);
    L->data=x;
    r=L;   
    while(r->data!=0)
    {
        scanf("%d",&x);
        s=(LinkList*)malloc(sizeof(LinkList));
        s->data=x;
        r->next=s;
        t=r;
        r=s;        
    }
    t->next=NULL;
    return L;
}


LinkList *combine(LinkList *p1,LinkList*p2)        /*合并链表*/
{
    LinkList *p;
    p=p1;
    while(p->next!=NULL)
    {
        p=p->next;        
    }
    p->next=p2;
   return p1;
}

LinkList *order(LinkList *L)        /*数据域降序*/
{
  LinkList *p,*pre,*pt;
  int c,i=0;
  pre=L;
  pt=L;
  p=L->next;
  while(pt=pt->next)
  {
      pre=L;
      p=L->next;
      while(p)
        {
            if(pre->data<p->data)
                {
                    c=pre->data;
                    pre->data=p->data;
                    p->data=c;
                 }
            else
                ;
             pre=p;
             p=p->next;
         }
  }
  return L;
}

int printList(LinkList *p1)        /*打印链表*/
{
    while(p1)
    {
        printf("%d ",p1->data);
        p1=p1->next;
    }
    return (0);
}


 void  main()   
{
    LinkList *LinA,*LinB,*LinC,*LinD;

    printf("请输入第一组数(以0为结束标志):");
    LinA=CreatList();

    printf("请输入第二组数(以0为结束标志):");
    LinB=CreatList();
   
    LinC=combine(LinA,LinB);
    printf("两数组合并后有:");
    printList(LinC);
   
    LinD=order(LinC);
    printf("合并排序后数据为:\n");
    printList(LinD);
}
楼主,我也刚注册的~!结个善缘~!
改了一下不知道对不对~!反正我调试成功了~!
PS:楼主,以后写程序要记得加注释啊~!否者很难理解你的意图~!

就是想学~!
2011-04-16 13:40
PぴㄒLaㄨMa
Rank: 1
等 级:新手上路
帖 子:18
专家分:5
注 册:2011-1-16
收藏
得分:0 
回复 3楼 没有注册过的
O(∩_∩)O谢谢~   下次我会注意的~~  
2011-04-16 20:08
PぴㄒLaㄨMa
Rank: 1
等 级:新手上路
帖 子:18
专家分:5
注 册:2011-1-16
收藏
得分:0 
回复 2楼 dongdong5888
不好意思~~   我下次会注意的~~~
2011-04-16 20:13
huanqwer
Rank: 1
来 自:成都
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-31
收藏
得分:0 
新手路过,看不懂。。。
2011-04-16 20:15
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:10 
程序代码:
// Sorry that Chinese IM is now unavailible to me. Please try to read it by yourself. I'll add comments later.

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

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

typedef node * list;

int create_list(list * l) {
    int x;
    *l = (node *) malloc(sizeof(node));
    node * p = *l;
    scanf("%d", &x);
    while (x) {
        p->next = (node *) malloc(sizeof(node));
        p = p->next;
        p->data = x;
        scanf("%d", &x);
    }
    p->next = NULL;
    return 0;
}

int concat_list(list dest, list src) {
    for (; dest->next; dest = dest->next);
    dest->next = src->next;
    return 0;
}

int sort_list(list l) {
    int tmp;
    node * p;
    for (l = l->next; l->next; l = l->next) {
        for (p = l->next; p; p = p->next) {
            if(l->data < p->data) {
                tmp = l->data;
                l->data = p->data;
                p->data = tmp;
            }
        }
    }
    return 0;
}

int print_list(list l) {
    while (l->next) {
        l = l->next;
        printf("%d ", l->data);
    }
    printf("\n");
    return 0;
}
    
int main() {
    list a, b;
    printf("请输入第一组数(以0为结束标志):\n");
    create_list(&a);
    printf("请输入第二组数(以0为结束标志):\n");
    create_list(&b);
    print_list(a);
    print_list(b);
    concat_list(a, b);
    printf("两数组合并后有:\n");
    print_list(a);
    sort_list(a);
    printf("合并排序后数据为:\n");
    print_list(a);
    return 0;
}
2011-04-16 23:30
没有水的鱼
Rank: 1
等 级:新手上路
帖 子:13
专家分:2
注 册:2011-4-14
收藏
得分:0 
这应该是数据结构中的,我们才开这门课程
2011-04-17 13:32
棉雨
Rank: 5Rank: 5
等 级:职业侠客
帖 子:174
专家分:368
注 册:2011-4-22
收藏
得分:0 
我想请教个一下
for (; dest->next; dest = dest->next);
    dest->next = src->next;
为什么是这样写的呢?看着不明白呢。
2011-04-23 18:31
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
for (; dest->next; dest = dest->next);    // 这里有 ; 的,下面那条语句不是循环体
dest->next = src->next;
2011-04-23 18:36
快速回复:这是别人的··· 弄了半天,我也没能解决· 请大虾们看看~~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026426 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved