| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛

c语言数据结构链表的题

123456789101112131415161718192021222324252627282930313233343536373839404142434445
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
typedef int BOOL;
#define TRUE 1
#define FALSE 0
typedef
struct node  {
ElemType data;
struct node * next;  }
Node;
int lenA = 0;
while(pL != null){
lenA++;
pL = pL.next;        }
int lenB = 0;
while(pS != null){
lenB++;            pS = pS.next;        }
int len = lenA - lenB;
if(len ＝ 0){            lenB＝lenA;1        }
else{           return FALSE;        }
void *data;
while(pL-＞data!＝pS-＞data){            pL-＞data＝pL.next-＞data;            pS-＞data＝pS.next-＞data;            printf(TRUE);        }
return FALSE;}

```#include <stdio.h>
#include <stdlib.h>
#define TRUE 1
#define FALSE 0
typedef struct node  {
int data;
struct node * next;
}Node;
/** 判等 */
while(curNodeA!=NULL&&curNodeB!=NULL){
if(curNodeA->data!=curNodeB->data){
return FALSE;
}
curNodeA=curNodeA->next;
curNodeB=curNodeB->next;
}
if(curNodeA!=NULL||curNodeB!=NULL){
return FALSE;
}
return TRUE;
}
/** 创建链表 */
for(int i=0;i<len;i++){
curNode->data=arr[i];
if(i<len-1){
Node *tmpNode=(Node*)malloc(sizeof(Node));
curNode->next=tmpNode;
}else{
curNode->next=NULL;
}
curNode=curNode->next;
}
}
/** 遍历链表 */
while(curNode!=NULL){
printf("%d\t",curNode->data);
curNode=curNode->next;
}
}
/** 释放 */
if(node!=NULL){
free(node);
}
}
int main(){
int arrA[]={1,2,3,4,5,6};
int arrB[]={1,2,3,4,5};
return 0;
}```

[此贴子已经被作者于2019-11-3 10:10编辑过]

```#include <stdio.h>
#include <string.h>
#define BOOL int
#define ElemType int
#define TRUE 1
#define FALSE 0
typedef struct node
{
ElemType data;
struct node * next;
}node, *ListNode;
{
int lenA = 0;
while(pL != NULL)
{
lenA++;
pL = pL->next;
}
int lenB = 0;
while(pS != NULL)
{
lenB++;
pS = pS->next;
}
//    int len = lenA - lenB;
//    if(len == 0)
//    {
//        return FALSE;
//    }
//直接这样 不是更好
if(lenA != lenB)
{
return FALSE;
}

//    while(pL->data != pS->data) 这两个数不相等时 可以直接break;了
//    {
//        pL->data = pL->next->data;
//        pS->data = pS->next->data;
//        printf(TRUE);        //printf 不是这样用的吧？
//    }
//     return FALSE;没理解你的思维
//我改成了这样
while(pL) //由于前面可以确定两链表一样长了  所以只用pL就好
{
if (pL->data != pS->data)
{
return FALSE;
}
pL = pL->next;
pS = pS->next;
}
return TRUE;
}```

[此贴子已经被作者于2019-11-4 21:08编辑过]

• 11
• 1/2页
• 1
• 2