数据结构中常见的算法(C语言版)
发布网友
发布时间:2022-04-26 23:29
我来回答
共1个回答
热心网友
时间:2022-06-20 03:48
1、冒泡排序(最容易考到)
#include<stdio.h>
#define N 5
void main()
{
int i=0,j=0;
int a[n],temp;
int *ptr1,*ptr2;
ptr1=&a[j+1];
ptr2=&temp;
printf("\n输入数字串:\n",N);
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(a[j]<a[j+1])
{
/*交换元素*/
ptr2=a[j+1];
a[j+1]=a[j];
a[j]=ptr2;
}
}
}
printf("\n排序后的数字串:");
for(i=0;i<N;i++)
{
printf("%d",a[i]);
}
printf("\n");
}
2、统计字符个数
#include<stdio.h>
void main()
{
char line[100];
int i,count=0;
printf("\n请输入一行字符: ");
gets(line);
i=0;
while(line[i]!='\0')
{
if(line[i]=='x'||line[i]=='X')
{
count++;
}
i++;
}
printf("\n其中X的个数为%d\n",count);
}
3、数字翻转
#include<stdio.h>
void main()
{
int a,b;
a=0;
do
{
printf("\n请输入一个数:");
scanf("%d",&a);
if(a<=0)
printf("该数必须为正数\n");
}while(a<=0);
printf("\n反转后的数为:");
do
{
b=a%10;
printf("%d",b);
a=a/10;
}while(a!=0);
printf("\n");
}
我这里还有好多,需要的联系我QQ
c语言算法有哪些
图算法:图算法用于处理与图形相关的数据结构问题。在C语言中,常见的图算法包括最短路径算法(如Dijkstra算法)、拓扑排序、最小生成树算法(如Prim算法和 Kruskal算法)等。字符串处理算法:C语言中有许多处理字符串的算法,例如字符串匹配算法(如KMP算法)、字符串搜索和替换算法等。这些算法帮助处理字符...
用C语言实现数据结构中常用算法,如对链表的操作、查找、排序等。_百...
/// ///*显示数据*/// /// void show(link l){ link p; int j;p=l;j=0;cout<<"链表的值为:\n";while(p->next){ cout<next->date<<endl;p=p->next;} } /// /// ///销毁链表/// ///
快速排序算法c语言
排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆...
数据结构中的算法怎样转化为可执行的c语言程序啊?
1、Fibonacci数列算法:Fibonacci数列有如下特点:第1,2两个数的值为1,从第3个数开始,该数是其前面两个数之和。2、即:F1=1(n=1),F2=1(n=2),F3=F(n-1)+F(n-2)(n>=3)。运行看看。3、数的排列之冒泡法也叫起泡法:排序的方法有两种:一种是“升序”,从小到大,一种是“降序...
关于数据结构算法,谁能帮我用C语言写下?谢谢
typedef struct /* 队列的链表结构 */ { QueuePtr front,rear; /* 队头、队尾指针 */ }LinkQueue;Status visit(QElemType c){ printf("%d ",c);return OK;} /* 构造一个空队列Q */ Status InitQueue(LinkQueue *Q){ Q->front=Q->rear=(QueuePtr)malloc(sizeof(QNode));if(!Q-...
在c语言版数据结构中,tail(head((a,b),(c,d)))等于什么???求详细...
广义表定义:第一个元素为表头,其余元素组成的表(重点是元素组成的 “表”)head((a,b),(c,d))=(a,b)==取表头第一个元素;tail(head((a,b),(c,d)))即tail(a,b)==(b),根据广义表表尾定义为(b),不是b.如理解的不对请指出。
数据结构 用c语言写的 集合的并、交和差运算的程序
再用两个for循环来判断结果:交,并,差 在for循环中,用一个if来判断一下,是不是a[0]==b[j],只要有相等的,就令之放在c[0]这就是交集!!并集就好求吧,只要令c[i]=a[i],再来一个就是c[i+j+1]=b[j](因为我这里是考虑j=0开始的,然后自加差就是在交上改动一下就可以了,只要是a[0...
C语言算法有哪些 并举例和分析
算法大全(C,C++)一、 数论算法 1.求两数的最大公约数 function gcd(a,b:integer):integer;begin if b=0 then gcd:=aelse gcd:=gcd (b,a mod b);end ; 2.求两数的最小公倍数 function lcm(a,b:integer):integer;beginif a0 do inc(lcm,a);end; 3.素数的求法 A.小范围内判断一个数是否...
数据结构(C语言版)题:由一个栈的输入序列12345,设计算法,分别输出54321...
54321:1~5这5个数连续进栈后再5个数连续出栈,用2个循环就可以了 32145:1~3这3个数连续进栈后再3个数连续出栈,也可以用2个循环,然后是4进4出,5进5出
C语言编写数据结构查找算法
1、建立一个线性表,对表中数据元素存放的先后次序没有任何要求。输入待查数据元素的关键字进行查找。为了简化算法,数据元素只含一个整型关键字字段,数据元素的其余数据部分忽略不考虑。建议采用前哨的作用,以提高查找效率。2、查找表的存储结构为有序表,输入待查数据元素的关键字利用折半查找方法进行...