c_cpp 比较表示为链接列表的两个字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 比较表示为链接列表的两个字符串相关的知识,希望对你有一定的参考价值。
// https://www.geeksforgeeks.org/compare-two-strings-represented-as-linked-lists/
#include <iostream>
using namespace std;
class node {
public:
char data;
node *next;
node () {
data = '0';
next = NULL;
}
node (char x) {
data = x;
next = NULL;
}
};
class LL {
public:
node *head;
LL() {
head = NULL;
}
void insert(char x);
void print();
int compare (LL h2);
};
void LL::insert(char x) {
node *n = new node(x);
if (head == NULL)
head = n;
else {
node *last = head;
while (last->next)
last = last->next;
last->next = n;
}
}
void LL::print() {
node *n=head;
while(n) {
cout<< n->data;
n = n->next;
}
cout<< "\n";
}
int LL::compare(LL h2){
node *n1 = head, *n2 = h2.head;
while (n1 && n2 && n1->data == n2->data) {
n1 = n1->next;
n2 = n2->next;
}
if (n1 && n2)
return (n1->data > n2->data)?1:-1;
if (n1 && !n2)
return 1;
if (!n1 && n2)
return -1;
return 0;
}
int main() {
LL h1, h2;
char x;
cout<< "Enter the 1st string: \n";
while (true) {
cin>>x;
if (x == '.')
break;
else
h1.insert(x);
}
while (true) {
cin>>x;
if (x == '.')
break;
else
h2.insert(x);
}
h1.print();
h2.print();
cout<<h1.compare(h2);
}
以上是关于c_cpp 比较表示为链接列表的两个字符串的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 两个排序链接列表的交集
c_cpp 合并两个已排序的链接列表
c_cpp 合并两个已排序的链接列表,使合并列表的顺序相反
c_cpp 160.两个链接列表的交集 - 简单 - 2018.8.6
c_cpp 给定两个表示为字符串的数字,将数字作为字符串返回乘法。注意:数字可以任意大
c_cpp 除以表示为字符串的大数字