栗子


私信TA

用户名:dotcpp0729093

访问量:541

签 名:

believe or not

等  级
排  名 641
经  验 4069
参赛次数 0
文章发表 14
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

#include <stdio.h>
typedef struct LNode{
 int data;
 struct LNode* next;
}LNode,*linkList;

void initList(linkList &l)
{
 l=new LNode;
 if(l==NULL)
 printf("分配内存失败\n");
 else
 {
  l->next=NULL;
  printf("初始化成功\n");
 }
}

void insertList(linkList& l,int e,int r)
{
 LNode* p=l;
 int j=0;
 while(p&&(j<r-1))
 {p=p->next;++j;}
 if(!p||(j>r-1))
 printf("错误\n");
 else
 {
  LNode* s=new LNode;
  s->data=e;
  s->next=p->next;
  p->next=s; 
 }
}

int locateList(linkList l,int t,int n)
{
 int i;
 LNode* p=l->next;
 for(i=0;i<n;i++)
 {
  if(p->data<t)
  p=p->next;
  else
  break;
 }
 return i+1;
}


void addList(linkList &l,int n)
{
 printf("输入元素:");
 LNode *tail;
 tail=new LNode;
 tail=l;
 for(int i=0;i<n;i++)
 {
  LNode* p;
  p=new LNode;
  int t;
  scanf("%d",&t);
  int r=locateList(l,t,i);
  insertList(l,t,r);
//  p->data=t;
//  p->next=NULL;
//  tail->next=p;
//  tail=p; 
 } 
}

void printList(linkList l)
{
 LNode* p;
 p=l->next;
 while(p!=NULL)
 {
  printf("%d ",p->data);
  p=p->next;
 }
 printf("\n");
}

int numList(linkList l,int t,int m)
{
 int i;
 LNode* p=l->next;
 for(i=0;i<m;i++)
 {
  if(p->data<t)
  p=p->next;
  else if(p->data==t)
  return i+1;
  else
  return 0;
 }
 //return 0;
}

void mergeList(linkList& la,linkList& lb,int n,int m)
{
 LNode* pa=la->next;
 LNode* pb=lb->next;
 while(pb!=NULL)
 {
  int i=0;
  int r=locateList(la,(pb->data),n+i);
  int j=(numList(la,(pb->data),n+i));
  printf("r=%d,j=%d,pb=%d\n",r,j,pb->data);
  if(r!=j)
  {
  insertList(la,(pb->data),r);
  pb=pb->next;i++;
  }
  else
  {
  pb=pb->next;
  }
  
 }
 
}

int main()
{
 linkList la,lb;
 printf("链表la:");
 initList(la);
 printf("链表lb:");
 initList(lb);
 
 int n;
 printf("\nla添加元素个数:");
 scanf("%d",&n);
 addList(la,n);
 printList(la);
 
 int m;
 printf("\nlb添加元素个数:");
 scanf("%d",&m);
 addList(lb,m);
 printList(lb);
 
 printf("\n合并为递增链表:");
 mergeList(la,lb,n,m);
 printList(la);
 return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »