[英]How to compare two strings for a binary search tree
我正在嘗試比較兩個字符串,以查看它應該作為根節點的葉節點(第四個)。 我一直嘗試使用字符串比較,但出現錯誤。 我對c中的二叉樹不熟悉,需要插入節點的幫助。
這是我到目前為止給我一個錯誤的代碼:
#include <stdio.h>
#include <stdlib.h>
#define MAXLEN 15
typedef struct treeNode{
char string[MAXLEN+1];
struct treeNode *left;
struct treNode *right;
}treeNode;
treeNode * insert(treeNode *node, char s[MAXLEN+1]){
if(node == NULL){
treeNode *temp;
temp = (treeNode *)malloc(sizeof(treeNode));
strncpy(temp -> string, s, sizeof(treeNode));
temp -> left = NULL;
temp -> right = NULL;
return temp;
}
else-if(strcmp(node->string,char s)>0){
}
}
您的程序中目前存在三個問題:
“ else-if”應為“ else if”
strcmp(node-> string,char s)應該是strcmp(node-> string,s)
沒有主要方法
首先,我認為你應該改變
strcmp(node->string,char s);
並替換為
strcmp(node->string,s);
在strcmp中,如果結果大於零,則第一個參數大於第二個參數。
因此,如果您的if else語句評估為true,則node-> string大於s。
如果strcmp小於零,則第二個參數大於第一個值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.