数据结构回文判断实践报告

数据结构回文判断实践报告

问:数据结构java语言利用栈实现判断回文
  1. 答:先从屁股尾开始入栈,出栈之后 合并为String 如果和原来一样就是回文
问:回文判断
  1. 答:楼上的,人家要的是数据结构的算法,给人改改吧
问:C语言数据结构,用栈编一个程序,判断一个字符串是否为回文
  1. 答:It's easy.分再高点吧!另外,把你已有的,能用的代码给我发一下,不至于要我自己写个栈吧?c语言没有stl的话,还要自己找栈的实现代码吧?反正我没有,你要给我发一个,然后把分提高到150,我就帮你写了。
    baiduzhidao.vase@
  2. 答:说说我的思路啊。回文定义应该正着看和反着看都是一个字符串。那么应该分两种去判断,一个是字符的长度为奇数,一个为偶数。先说奇数,先求中间索引值,如果长度为s,索引为i,那么中间字符的索引为 i=(s-1)/2 ,那么满足 str[i-n] == str[i+n] n 的值从i循环到0.如果都满足就是是回文。
    如果长度为偶数,也要先求出一个参照索引ii,可以是ii = s/2, 要满足str[ii+n] == str[ii-n-1],n一直从ii-1循环到0,既是回文。至于栈你自己用也行。我觉得不用栈也可以。不知道为什么要用栈。
  3. 答:可以选择用数组模拟栈
问:c语言编程:判定一个字符是否是回文串(回文串是指从开头读和从末尾读均为相同字符的字符串,例如:abcba
  1. 答:1、首先,在C语言软件中,定义多个整型变量,保存程序中所需操作的数值。
    2、定义两个数组,保存输入的字符串和最长回文。
    3、输入字符串,保存在变量a中。计算字符串的长度,设置变量k和max的初值。
    4、接着,用循环语句实现查找回文,以及最长回文的判断。
    5、用if语句判断回文是否偶数,如果条件成立执行以下语句。
    6、最后运行程序,输入任一连续字符串,电脑就会判断其中的最长回文,并输出。
  2. 答:#include <stdio.h>
    #include <string.h>
    void main()
    {
    char str[128];
    scanf("%s",str);
    int i=0;
    int iLen=strlen(str);
    while (i<=iLen)
    {
    if (str[i]!=str[iLen-1])
    {
    printf("这不是回文串!\n");
    return;
    }
    i++;
    iLen--;
    }
    printf("这是回文串!\n");
    return ;
    }
  3. 答:#include <stdio.h>
    #include <string.h>
    void main()
    {
    char s[100],a[100];
    int b,i,t;
    printf("请输入字符串:");
    scanf("%s",s);
    b=strlen(s);
    t=b;
    i=0;
    while(i!=t)
    {
    a[i]=s[b-1];
    b--;
    i++;
    }
    a[i]='\0';
    if(!strcmp(s,a))
    printf("这是回文串!\n");
    else
    printf("这不是回文串!\n");
    }
  4. 答:bool symm(unsigned n)
    {
    unsigned i=n;
    unsigned m=0;
    while(i>0){
    m=m*10+i%10;
    i/=10;
    }
    return m==n;
    }
    int main()
    { int Val;
    cin>>Val;//输入目标数字
    bool Res=symm(Val);
    cout<<Res;
    return 0;
    }
    通过除10取余反向读取数字判断
问:数据结构(C语言版)中关于“回文”的算法程序
  1. 答:假设字符串长度是 len
    int i;
    for ( i=0; i<=len/2; ++i) {
    if ( str[i] != str[len-i-1]) return false;
    }
    return true;
  2. 答:依次比较第n个元素和倒数第n个元素,第n个元素的下标是n-1,倒数第n个元素的下标是m-n-1,m是元素总个数
    n从0开始到m/2
    如果m是奇数,那么m/2是中间那个元素左边那个,最中间那个元素不用和本身比较了
    如果m是偶数,那么m/2和m/2+1是最中间那2个元素
    代码就是vbtraz写的那样
  3. 答:假设字符串长度是
    len
    int
    i;
    for
    (
    i=0;
    i<=len/2;
    ++i)
    {
    if
    (
    str[i]
    !=
    str[len-i-1])
    return
    false;
    }
    return
    true;
数据结构回文判断实践报告
下载Doc文档

猜你喜欢