• 应试记录2(没有转载标注,侵删)


    #include<stdio.h>
    #include<string.h>
    
    int main()
    {
        int a[10];
        memset(a, 0, sizeof(a));
        for(int i=0;i<=10;i++)
        printf("%d",a[i]);
        return 0;
    }
    View Code
    #include <stdio.h>
    int main()
    {
        int q[102]={0,6,3,1,7,5,8,9,2,4},head,tail;
        int i;
        //初始化队列
        head=1;
        tail=10; //队列中已经有9个元素了,tail执向的队尾的后一个位置   
        while(head<tail) //当队列不为空的时候执行循环
        {
            //打印队首并将队首出队
            printf("%d ",q[head]);
            head++;
     
            //先将新队首的数添加到队尾
            q[tail]=q[head];
            tail++;
            //再将队首出队
            head++;
        }
       
        getchar();getchar();
        return 0;
    }
    队列
    #include <stdio.h>
    int main()
    {
        int e[10][10],dis[10],book[10],i,j,n,m,t1,t2,t3,u,v,min;
        int inf=99999999; //用inf(infinity的缩写)存储一个我们认为的正无穷值
        //读入n和m,n表示顶点个数,m表示边的条数
        scanf("%d %d",&n,&m);
        
        //初始化
        for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
                if(i==j) e[i][j]=0;  
                  else e[i][j]=inf;
                  
        //读入边
        for(i=1;i<=m;i++)
        {
            scanf("%d %d %d",&t1,&t2,&t3);
            e[t1][t2]=t3;
        }
    
        //初始化dis数组,这里是1号顶点到其余各个顶点的初始路程
        for(i=1;i<=n;i++)
            dis[i]=e[1][i];
    
        //book数组初始化
        for(i=1;i<=n;i++)
            book[i]=0;
        book[1]=1;
        
        //Dijkstra算法核心语句
        for(i=1;i<=n-1;i++)
        {
            //找到离1号顶点最近的顶点
            min=inf;
            for(j=1;j<=n;j++)
            {
                if(book[j]==0 && dis[j]<min)
                {
                    min=dis[j];
                    u=j;
                }
            }
            book[u]=1;
            for(v=1;v<=n;v++)
            {
                if(e[u][v]<inf)
                {
                    if(dis[v]>dis[u]+e[u][v]) 
                        dis[v]=dis[u]+e[u][v];
                }
            }    
        }
        
        //输出最终的结果
        for(i=1;i<=n;i++)
            printf("%d ",dis[i]);
            
        getchar();
        getchar();
        return 0;
    }
    dijkstra
    #include <stdio.h>
    int a[101],n;//定义全局变量,这两个变量需要在子函数中使用
     
    void quicksort(int left,int right)
    {
        int i,j,t,temp;
        if(left>right)
           return;
          
        temp=a[left]; //temp中存的就是基准数
        i=left;
        j=right;
        while(i!=j)
        {
                       //顺序很重要,要先从右边开始找
                       while(a[j]>=temp && i<j)
                                j--;
                       //再找右边的
                       while(a[i]<=temp && i<j)
                                i++;
     
                       //交换两个数在数组中的位置
                       if(i<j)
                       {
                                t=a[i];
                                a[i]=a[j];
                                a[j]=t;
                       }
        }
        //最终将基准数归位
        a[left]=a[i];
        a[i]=temp;
       
        quicksort(left,i-1);//继续处理左边的,这里是一个递归的过程
        quicksort(i+1,right);//继续处理右边的 ,这里是一个递归的过程
    }
     
    int main()
    {
        int i,j,t;
        //读入数据
        scanf("%d",&n);
        for(i=1;i<=n;i++)
                       scanf("%d",&a[i]);
     
        quicksort(1,n); //快速排序调用
       
        //输出排序后的结果
        for(i=1;i<=n;i++)
            printf("%d ",a[i]);
     
        getchar();getchar();
        return 0;
    }
    quicksort
    #include <stdio.h>
    int main()
    {
        int e[10][10],k,i,j,n,m,t1,t2,t3;
        int inf=99999999; //用inf(infinity的缩写)存储一个我们认为的正无穷值
        //读入n和m,n表示顶点个数,m表示边的条数
        scanf("%d %d",&n,&m);
        
        //初始化
        for(i=1;i<=n;i++)
                    for(j=1;j<=n;j++)
                            if(i==j) e[i][j]=0;  
                  else e[i][j]=inf;
    
        //读入边
        for(i=1;i<=m;i++)
        {
                    scanf("%d %d %d",&t1,&t2,&t3);
            e[t1][t2]=t3;
        }
        
        //Floyd-Warshall算法核心语句
        for(k=1;k<=n;k++)
                    for(i=1;i<=n;i++)
                            for(j=1;j<=n;j++)
                                if(e[i][j]>e[i][k]+e[k][j] ) 
                                    e[i][j]=e[i][k]+e[k][j];
        
        //输出最终的结果
        for(i=1;i<=n;i++)
        {
             for(j=1;j<=n;j++)
            {
                            printf("%10d",e[i][j]);
            }
            printf("
    ");
        }
        
        return 0;
    }
    Floyd
    #include<stdio.h>//lian biao charu
    #include<string.h>
    #include<stdlib.h>
    
    struct node
    {
        int data;
        struct node *next;
        
    };
    
    
    int main()
    {
        struct node *head,*p,*q,*t;
        int  i,n,a;
        head = NULL;
        
        
        for(i=1;i<=10;i++)
        {
        scanf("%d",&a);
        p=(struct node*)malloc(sizeof(struct node));
        p->data=a;
        p->next=NULL;
        
        if(head = NULL)
            head =p;
        else
            q->next=p;        
        q->p;
        }
        
        t=head;
        while(t!=NULL)
        {
            printf("%d",t->data);
            t=t->next;
            }
        
        
        
        return 0;
        
    }
    链表插入【未完成】
    #include<stdio.h>//lian biao charu
    #include<string.h>
    #include<stdlib.h>
    int a;
    int main()
    {
        FILE *fin,*fout;
        fin=fopen("in.txt","r");
        fout=fopen("out.txt","w");
        
        fscanf(fin,"%d",&a);
        fprintf(fout,"%d
    ",a*2);
        
        fclose(fin);
        fclose(fout);
        
        return 0;
        
    }
    文件输入输出
  • 相关阅读:
    30 分钟快速入门 Docker 教程
    python functools.wraps
    计算机科学中最重要的32个算法
    JDBC的作用及重要接口
    SSO单点登录--支持C-S和B-S
    谈谈Sql server 的1433端口
    屏蔽:粘贴到KindEditor里,IE下弹出框报”对象不支持moveToElementText属性或方法“错误的提示
    markdown
    ddd
    python进阶学习(一)--多线程编程
  • 原文地址:https://www.cnblogs.com/QuantumGhost/p/6044040.html
Copyright © 2020-2023  润新知