⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ppt.c

📁 主要是一些数据结构课程设计的一些比较常用的题目。
💻 C
字号:
#include<stdio.h>

void Intilist(int la[10],int M); // Input the sequence from keyboard

int move (int la[100],int M);  //Make the input sequence in order

int delem(int la[100],int M);  //Keep only one element if they are the same

int M,N;                                 //M=length of la, N=length of lb 

int main ()

{

  int la[100], lb[100];

  int lc[201];

  int i,j,k; 

  /*get the numbers in a line */

  printf("Please input length of la:\n");    //输入线性表la的长度

  scanf("%d",&M); 
 
 
 
 
 

  Intilist(la,M);                                           //初始化线性表la

  M=move (la,M);                                      //排序并删除其中输入多余的元素 

  printf("Please input length of lb:\n");      //输入线性表lb的长度

  scanf("%d",&N);

  Intilist(lb,N);                                           //初始化lb

  N=move(lb,N); 

/* get together two linklists */

  i=j=0;

  k=0;

  while ((i<M)&&(j<N))        //当没有处理完任何一个线性表时,继续循环

    if(la[i]<lb[j]){                    //当la中第i个元素小于lb中第j个元素时

       lc[k]=la[i];                    //复制la中的元素

       k++;                              //指针加1

       i++;

    }

   
 
 
 
 
 

else if (la[i]>lb[j]){                 //当大于时

       lc[k]=lb[j];                     //复制lb中的元素

       k++;

       j++;

    }

    else if(la[i]=lb[j]) {             //当等于时

       lc[k]=la[i];                      //复制其中一个线性表中的元素

         i++;
         k++;
        j++;

    }

   

   for(;j<N;j++){                     //如果lb中还有元素,复制剩余元素

      lc[k]=lb[j];                    

      k++;

    }

   for(;i<M;i++){                    //如果la中还有元素,复制剩余元素

      lc[k]=la[i];

      k++;

    }

 
 
 
 
 
 

for (i=0;i<k;i++)                           //打印lc中的所有元素

    printf ("%d ",lc[i]);

  printf("\n");

  return 0;

  } 

  /* 初始化线性表*/

void Intilist (int L[100],int m)

  {

     int i;

     printf ("Please input numbers:\n");

      for (i=0;i<m;i++)

           scanf ("%d",&L[i]);

       printf ("\n"); 
 
 
 
 
 

      return;

  }

/* 对该线性表排序*/

int move ( int a[100],int m) 

{ 

      int i,j,t;

      for (j=1;j<m;j++)                       //冒泡排序法

         for (i=0;i<m-j;i++)

            if (a[i]>a[i+1]){

              t=a[i];

             a[i]=a[i+1];

             a[i+1]=t;

          }

       m=delem(a,m);                       //删除其中相同的元素

      printf ("the sorted numbers:\n");
 
 
 
 
 

     for (i=0;i<m;i++)

         printf ("%d ",a[i]);

     printf ("\n");

    return m;

  } 

//如果其中有相同的元素,则删除相同的元素

int delem(int la[100],int m)

{

    int i,j;

    for(i=0;i<m;i++)

       if(la[i]==la[i+1]){

             for(j=i;j<m;j++)

                   la[j]=la[j+1];

           m--;

           i--;

          }

     return m;

  }
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -