编程-麻烦帮帮改代码,谢谢!!!!!!!!!!

问题描述

麻烦帮帮改代码,谢谢!!!!!!!!!!
 #include<stdio.h>
#include<malloc.h>
#include <stdlib.h>
typedef struct node
{
 int data;
 struct node *pnext;
} NODE,*PNODE;
PNODE chuangjian(void);
void bianli(PNODE phead);
PNODE paixu(PNODE phead);
PNODE hebing(PNODE phead1,PNODE phead2);
int lenth(PNODE phead);
int main(void)
{   PNODE phead1=NULL;
    PNODE phead2=NULL;
    PNODE phead3=NULL;
    printf("请输入链表1的信息:n");
    phead1=chuangjian();
    printf("链表1的信息为:");
    paixu(phead1);
    bianli(phead1);
    printf("请输入链表2的信息:n");
    phead2=chuangjian();
    printf("链表2的信息为:");
    paixu(phead2);
    bianli(phead2);
    printf("合并后的链表为:");
     phead3=hebing(phead1,phead2);
    bianli(phead3);
    system("pause");
 return 0;
}
PNODE chuangjian(void)
{
 PNODE phead=(PNODE)malloc(sizeof(NODE));
 PNODE ptail;
 ptail=phead;
 ptail->pnext=NULL;
 int len=0;
 int i=0;
 int val=0;
 printf("请输入链表的长度:");
 scanf_s("%d",&len);getchar();
 for(i=0;i<len;i++)
 {
  scanf_s("%d",&val);getchar();
  PNODE pnew=(PNODE)malloc(sizeof(NODE));
  if(pnew==NULL)
  {
   printf("分配失败,程序终止!n");
   exit(-1);
  }
  pnew->data=val;
  ptail->pnext=pnew;
  pnew->pnext=NULL;
  ptail=pnew;
 }
 return phead;
}
void bianli(PNODE phead)
{
 PNODE p;
 p=phead->pnext;
 while(p!=NULL)
 {   printf("%d ",p->data);
  p=p->pnext;
 }
 printf("n");
 return;
}
PNODE paixu(PNODE phead)
{
 PNODE p,q;
 int t;
 int i,j;
 int len=lenth(phead);
 for(i=0,p=phead->pnext;i<len-1;i++,p=p->pnext)
   for(j=0,q=p->pnext;j<len-i-1;j++,q=q->pnext)
   {
    if(p->data>q->data)
    {
     t=p->data;
     p->data=q->data;
     q->data=t;
    }
   }
 return phead;
}
PNODE hebing(PNODE p1,PNODE p2)
{
    PNODE ptail,pnew,phead1=p1,phead2=p2,phead3;
    phead3=(PNODE)malloc(sizeof(NODE));
 ptail=phead3;
 ptail->pnext=NULL;
 while(phead1&&phead2)
 {
  if(phead1->data<=phead2->data)
  {
      pnew=(PNODE)malloc(sizeof(NODE));
   pnew->data=phead1->data;
   ptail->pnext=pnew;
            pnew->pnext=NULL;
      ptail=pnew;
   phead1=phead1->pnext;
  }
  else
  {
   pnew=(PNODE)malloc(sizeof(NODE));
   pnew->data=phead2->data;
   ptail->pnext=pnew;
            pnew->pnext=NULL;
      ptail=pnew;
   phead2=phead2->pnext;
  }
 }
 while(phead1)
 {
   pnew=(PNODE)malloc(sizeof(NODE));
   pnew->data=phead1->data;
   ptail->pnext=pnew;
            pnew->pnext=NULL;
      ptail=pnew;
   phead1=phead1->pnext;
 }
 while(phead2)
 {
   pnew=(PNODE)malloc(sizeof(NODE));
   pnew->data=phead2->data;
   ptail->pnext=pnew;
            pnew->pnext=NULL;
      ptail=pnew;
   phead2=phead2->pnext;
 }
 return phead3;
}
int lenth(PNODE phead)
{   

    int i=0;
 PNODE p;
 p=phead->pnext;
 while(p!=NULL)
 {
  p=p->pnext;
  i++;
 }
 return i;
}

解决方案

解决方案二:

写狗了,一大堆错误,我帮你重写一个研究一下吧。

解决方案三:

30分钟应该可以帮你写完

时间: 2024-11-20 20:07:57

编程-麻烦帮帮改代码,谢谢!!!!!!!!!!的相关文章

编程c语言-c语言编程题,请老师们帮帮我,谢谢

问题描述 c语言编程题,请老师们帮帮我,谢谢 已知一个长度为2015的整型数组,数组里的数据的大小为递增关系,请编写一个函数找到数组中值为2015的数,并返回该数在数组中的位置,未找到则返回-1. 解决方案 第一种方法:直接从头到尾遍历一次数组即可,时间复杂度为O(n) 第二种方法:二分查找法,时间复杂度为O(logn) 有思路了,写代码就比较简单了,就这 解决方案二: int position(int a[2015]) { int k = 2015; int low, high, mid; l

c++-帮忙看下代码,运行不了了,哪里有问题麻烦指出来下谢谢~!麻烦修改下 谢谢!

问题描述 帮忙看下代码,运行不了了,哪里有问题麻烦指出来下谢谢~!麻烦修改下 谢谢! #include #include using namespace std; int min(int n, int m); int max(int n, int m); const int N = 50; void Read_Store(int Number[N], int &length); void Add_Output(); int main() { cout<<" This is a

谁能告诉我用C#编程打开文件的代码啊,最好带汉语注释,谢谢大家了

问题描述 谁能告诉我用C#编程打开文件的代码啊,最好带汉语注释,谢谢大家了 解决方案 解决方案二:打开什么格式的文件啊解决方案三:File.Open(filepath...);解决方案四:File,FileStream,Process都会不同的形式打开,你要干嘛解决方案五:该回复于2012-04-10 16:16:27被版主删除解决方案六://OpenFileDialogOpenFileDialogofd=newOpenFileDialog();try{//要打开的文件种类(自己设定,这里举例x

vc++-VC编程中提取源程序代码应用另一个程序

问题描述 VC编程中提取源程序代码应用另一个程序 请问各位大神,现在我有一段VC二维码识别程序的源代码,如何将其提取并编译成一个新的程序,满足从指定位置访问图片文件,输出识别信息?求指导. 在VC编程环境下实现,谢谢! 解决方案 既然有源代码,那么你要做的就是程序得到输入文件路径,然后传给源码中的函数对应参数,获取函数返回结果,进行处理. 解决方案二: 参考:http://blog.csdn.net/liuyu60305002/article/details/8713399 解决方案三: 有一段

c语言-C语言 这个问题的意思不懂 麻烦大家解释一下 谢谢了

问题描述 C语言 这个问题的意思不懂 麻烦大家解释一下 谢谢了 #include "stdio.h" void main() { 当运行以下程序时,从键盘上输入China#,则下面程序运行结果为 int v1=0,v2=0; char ch; while((ch=getchar())!='#') switch(ch) { case 'a': case 'h': default :v1++; case 'o':v2++; } printf("%d,%dn",v1,v2

小弟继续请教那个DATATABLE向数据库总提交问题,麻烦各位朋友帮助,谢谢!!

问题描述 小弟继续请教那个DATATABLE向数据库总提交问题系统(VS2003,语言是VB.NET,数据库是SQL2005EXPRESS)最麻烦的是DATAROW中保存的是"○"和"×",要翻译成"1"和"0"保存入数据库,麻烦死了小弟昨天又通宵了,苦啊! 解决方案 解决方案二:http://topic.csdn.net/u/20080414/01/17537ee5-c53c-432b-b6da-d5f32e05c536.h

builder-麻烦大家帮我详细解释下下面这段与串口交互的代码,谢谢!

问题描述 麻烦大家帮我详细解释下下面这段与串口交互的代码,谢谢! void __fastcall TfrmPatient::edtDosageDblClick(TObject *Sender) { //read comm data,then set in edtDosage edit //open com port HANDLE hCom = CreateFile(g_ConfigManager.sComPort.c_str(),GENERIC_WRITE,0,NULL,OPEN_EXISTIN

急求,eclipse编程时实现当前代码自动复制保存到指定文件的类,方法,打jar包

问题描述 急求,eclipse编程时实现当前代码自动复制保存到指定文件的类,方法,打jar包 先说下需求,编程时总希望把当前正在编写的自认为比较有借鉴意义的代码追加保存到指定文件,留作日后参考,但如果每次都手动复制粘贴,又很麻烦,故思考写个实现该功能的工具类,打成jar包,封装本方法,这样以后不管在哪个项目里敲代码,想保存时就导入自定义的jar包,调用一下该方法就完成了追加保存,简洁方便:然本人初学能力不足,只完成了部分,截图如下,望各位不吝赐教 可以看到主要困难在于获得当前文件的路径名,ecl

esper计算问题,有会的大神麻烦贴下代码,非常感谢

问题描述 esper计算问题,有会的大神麻烦贴下代码,非常感谢 1.字段是sbn,me,NodeB,cellID,都是int类型,time是long类型 2.100个计数器,分别是C1-C100,其中C1-C50是求sum,C51-C80是求avg,C81-C90是求max,C91-C100是求min 3.sendEvent(),发送事件1W条 4.汇总,time_batch(1 min) 5.updateListener 输出 实体类: @Data @NoArgsConstructor @Al