下面的两个算法,一个是回文判断,用到了堆栈和队列,一个三元组的矩阵压缩存储。
时间关系,就没有慢慢调了。
int backWen()
{
queue a;
initqueue(&a);
stack s;
initStack(&s);
ch=getchar();
while(ch!=EOF&&ch!='\n')
{
push(&s,ch);enter(&a,ch);
ch=getchar();
}
state=true;
while(state&&isEmptyStack(s))
{
if(getTop(s)==getHead(a))
{
pop(&s);deQueue(&a)
}
else state=false;
}
return state;
}
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 1200
typedef char ElemType;
typedef struct{
int i,j;
ElemType e;
}Triple;
typedef struct{
Triple data[MAXSIZE+1];
int mu,nu,tu;
}TSMatrix;
int TransposeMatrics(TSMatrix M,TSMatrix *T);//transpose the Matrics
int main()
{
TSMatrix S,T;
printf("Hello world!\n");
return 0;
}
int TransposeMatrics(TSMatrix M,TSMatrix *T)
{
T->mu=M.nu; T->nu=M.mu; T->tu=M.tu;
int col,t,p,q;
int num[10];
int cpot[10];
if(T->tu)
{
for(col=1;col<=M.nu;++col) num[col]=0;
for(t=1;t<=M.tu;++t) ++num[M.data[t].j];
cpot[1]=1;
for(col=2;col<=M.nu;++col) cpot[col]=cpot[col-1]+num[col-1];
for(p=1;p<M.tu;++p)
{
col=M.data[p].j; q=cpot[col];
T->data[q].i=M.data[p].j;
T->data[q].j=M.data[p].i;
T->data[q].e=M.data[p].e;
++cpot[col];
}
}
return 1;
}考研复习(6)-回文判断&三元组
分享到:
相关推荐
蓝桥杯2024年第十五届省赛真题-回文数组
在编程和算法设计中,回文串的判断是一个常见的问题,尤其是在字符串操作和数据结构的学习中。 首先,我们来理解回文串的基本性质。回文串不区分大小写,因此在判断时通常需要将所有字符转换为统一的大小写形式。...
本任务要求实现一个程序,该程序能够判断输入的字符序列是否符合特定格式,并进一步判断该序列是否为回文序列。具体来说,需要判断一个以“@”为结束符的字母序列是否形如“序列1&序列2”,其中序列2是序列1的逆序。...
C语言-数据结构-回文树
数据结构-回文序列判断 本文档介绍了数据结构中回文序列判断的实验报告,旨在熟悉并掌握栈和队列的创建、入栈、出栈、入队和出队等基本用法,并运用栈和队列实现对“回文”序列的判断。 实验目的: 1. 熟悉并掌握...
最全算法整理之二叉树&斐波那契&链表&排序&哈希表&贪心算法&堆栈&回文检测&搜索&Dijkstra&KMP模式
2-回文字符串.cpp
数据结构的一题题目,一般老师都会布置这样的题目,大家可以来下载
数据结构实验报告的主题是“回文序列判断”,主要目的是让学生熟悉和掌握栈和队列的基本操作,并运用这两种数据结构来解决实际问题,即判断输入的字母序列是否为回文序列。回文序列是指一个序列正读和反读都相同的...
本资料“字符串处理- 回文串相关- 求最长回文子串.rar”主要探讨的是如何在给定的字符串中找到最长的回文子串。 回文子串是字符串的一个子序列,它本身是一个回文串。例如,字符串 "babad" 的回文子串有 "bab", ...
通过C语言实现回文数的判断
C语言学习与应用程序设计参考-回文数问题 本资源摘要信息旨在总结《C语言学习与应用》程序设计参考-回文数问题.docx文件的主要知识点。该文件主要涉及C语言编程的相关知识,包括变量的声明、输入输出语句、算术...
在本篇中,我们将深入探讨一个特定的数据结构应用:如何使用C#语言来实现回文检测。回文是指一个字符串,无论从左向右读还是从右向左读,其字符顺序都是相同的,例如“上海自来水来自海上”或“madam”。 首先,...
题 目: 回文判别 若一个字符序列正读、反读结果相同,则此序列称为回文。写一程序,判别从键盘输入的任一字符串是否为回文。 (1)分别利用循环单链表、顺序表求解此问题。 (2) 测试用例自己设计。 完整程序,...
回文数--回文数则是有类似22、383、5445、12321,不论是从左向右顺读,还是从右向左倒读,结果都是一样的特征.许多数学家着迷于此。
在C语言中,实现回文素数检测的程序通常分为两个步骤:判断回文和判断素数。判断回文可以使用字符串操作,将数字转换为字符串,然后比较字符串的前半部分和后半部分是否相同。这里需要注意,回文数的判断要考虑负数...
在实际的信息学竞赛中,可能还会考察其他方面,如优化算法以减少计算量,或者处理更复杂的回文数问题,比如寻找特定长度的回文数或者在给定数组中找到最大的回文子序列。通过解决此类问题,参赛者可以锻炼逻辑思维...
在编程领域,回文串的判断、查找和生成等操作常常被用作面试题或者算法练习,涉及到字符串的基本操作和算法设计。 首先,我们要理解如何判断一个字符串是否为回文串。最直观的方法是将字符串的前半部分与后半部分...
回文串是字符串处理中的一个重要概念,它是指正读反读都能得到相同字符串的序列,例如"aba"、"abcba"和"madam"等。在计算机科学中,回文串的应用广泛,如在生物信息学中识别DNA序列、文本处理中的模式匹配以及算法...
回文判断是一个常见的编程问题,尤其在数据结构和算法的学习中常常被用作示例。在本实验报告中,我们将探讨如何使用栈这种数据结构来判断一个字符串是否为回文。 首先,我们要理解什么是回文。回文是指一个字符串...