c语言
weixin_43761498
这个作者很懒,什么都没留下…
展开
-
数组移动
定义一个数组,输入一个整数n,n为数组元素个数。输入一个非负整数k,使得数组中元素向右移动k个。代码一:两层循环#include<stdio.h>int main() { int a[100],n,k,i,j,t; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d ",&a[i]); } scanf(...原创 2018-12-23 21:43:54 · 1564 阅读 · 0 评论 -
结构体排序
定义一个结构体,把人名按字典顺序排序并输出#include<stdio.h>#include<string.h>struct stu{ char name[50];}s[50];void sort(struct stu *s,int n){ int k,j; struct stu t; for(k=0;k<n;k++) { for(j=k+...原创 2018-12-23 21:48:42 · 113 阅读 · 0 评论 -
深度优先搜索(DFS)与广度优先搜索(BFS)
DFS(全排列):输入一个数n,输出1~n的全排列。#include<stdio.h>int a[10],b[10],n;void dfs(int step){ int i; if(step==n+1){ for(i=1;i<=n;i++){ printf("%d",a[i]); } printf("\n"); return; } ...原创 2019-03-02 22:28:36 · 128 阅读 · 0 评论 -
深度优先搜索遍历无向图
主要思想:首先以一个未被访问过的顶点作为起始顶点,沿当前顶点的边走到未访问过的顶点;当没有未访问过的顶点时,则回到上一个顶点,继续试探访问别的顶点,直到所有的顶点都被访问过。#include<stdio.h>int book[101],sum,n,e[101][101];void dfs(int cur)//cur是当前所在的顶点编号 { int i; printf("...原创 2019-03-02 22:37:11 · 545 阅读 · 0 评论 -
图的深度优先遍历--(城市地图)
第一行输入城市个数n和公路条数m。接下来m行有a,b,c三个数据。表示有一条公路可以从城市a到城市b,并且路程为c公里。现在求出从1~n的最短路程。我们可以用一个矩阵(二维数组e)来存储这些信息。e【a】【b】=c 若无法到达 则e【a】【b】=99999999即为正无穷。#include<stdio.h>int min=99999999,book[101],n...原创 2019-03-02 23:13:39 · 603 阅读 · 0 评论 -
图的广度优先遍历--(最少转机)
小哼和小哈一同坐飞机去旅游,他们位于1号城市,目标城市是5号,可是飞机并没有从1号到5号的直航,请问他们最少要转几次机。第一行输入四个数,n个城市,m条航线,start为起点城市,end为目标城市。接下来m行每行是类似于a,b这样的数据表示城市a和城市b之间有航线。还是使用邻接矩阵来存储图,这里是无向图。城市的编号是图的顶点,航班是两顶点之间的边。令所有边的长度为1。#inclu...原创 2019-03-02 23:24:16 · 470 阅读 · 0 评论 -
创建链表的方法
头插法:#include<stdio.h>#include<stdlib.h>struct node{ int date; struct node *next;};int main(){ struct node *head,*p; int i,j,n; scanf("%d",&n); head = (struct node *)mall...原创 2019-03-02 23:29:29 · 138 阅读 · 0 评论 -
链表的插入与删除
插入:#include <stdio.h>#include <stdlib.h>#include <malloc.h>typedef struct node{ int data; struct node *next;}NODE;NODE *create(int n){ int a; NODE *head,*p,*q; head=NU...原创 2019-03-02 23:42:06 · 105 阅读 · 0 评论