数据结构C语言版2.12,词典次序的问题.

问题描述:

数据结构C语言版2.12,词典次序的问题.

a={a1,、、、,am)和a={b1,、、、,bm)均为顺序表,a'和b'分别为a和b中除去最大共同前
缀后的子表.(比如前面2个,a1=x,a2=y,a3=z,b1=x,b2=y,b3=x,那么共同前缀就是x和y,然后比较z和x,当然是z大,所以a>b)若a'=b'=空表,则a=b;若a'=空表,而b'!=空表,或者两者都不为空表,且a'的首元小于b'的首元,则ab.试写一个比较a,b大小的算法.
自己写的c语言实现.
编译不过.麻烦大神看下.
#include "stdio.h"
void compare(char *,char *);
int main(void)
{
char x,y,z;
char a[6]={y,y,z,z,x,z},b[8]={x,x,x,x,y,x,x,z};
compare(a,b);
return 0;
}
void compare(char &a,char &b) // error:expected ';',',' or ')' before '&' token|
{
int n;
printf("%c %c",a[0],b[0]);
if(a[0]==b[0]){ //先把0考虑下
for(n=1;a[n]==b[n]&&(a[n-1]==b[n-1]);n++); //找出共同前缀
if(a[n]>b[n]){ //比较的实现
printf("ab");}
else { //0下的比较实现
if (a[0]
1个回答 分类:综合 2014-09-19

问题解答:

我来补答
compare函数与系统的函数重名了
#include "stdio.h"
void compare_dic(char a[],char b[]) // error:expected ';',',' or ')' before '&' token|
{
int n;
printf("%c %c",a[0],b[0]);
if(a[0]==b[0]){ //先把0考虑下
for(n=1;a[n]==b[n]&&(a[n-1]==b[n-1]);n++); //找出共同前缀
if(a[n]>b[n]){ //比较的实现
printf("ab");}
else { //0下的比较实现
if (a[0]
再问: compare在C++中是关键词(类?)刚刚看了下,不过为什么调用函数的第一个printf 的输出是空格,没有输出y x 调用感觉没有错呀,为什么输出不出来、、、 .然后我改变char数组里面的次序,结果一直是ab[n]) { //比较的实现 printf("a>b\n %c %c",a[n],b[n]); } else printf("a
 
 
展开全文阅读
剩余:2000
下一页:例6求步骤