数据结构13,15,16,18,19

原创 2006年06月11日 12:46:00
13
#include <stdio.h>
int s[]={10,15,31,9,20,22,34,37,6,15,42};
int r2[20];
void merge(int low ,int m ,int high,int r[])
{
  int i=low,j=m+1,p=0;
 // int r2[high-low+1];
  while(i<=m && j<=high)
  {
    if(r[i]<=r[j])
    {
      r2[p]=r[i];
      i++;
    }
    else
    {
      r2[p]=r[j];
      j++;
    }
    ++p;
  }
  while(i<=m)
    r2[p++]=r[i++];
  while(j<=high)
    r2[p++]=r[j++];
  for(int t=0;t<p;t++)
  {
    printf("%d ",r2[t]);
  }
}
main()
{
  int temp[20];
  merge(0,2,4,s);
  for(int k1=0;k1<5;k1++)
    temp[k1]=r2[k1];
  merge(5,7,10,s);
  for(int k2=5;k2<11;k2++)
    temp[k2]=r2[k2-5];
  printf("/nThe result is:");
  merge(0,4,10,temp);
}

15#include <stdio.h>
#define stacksize 100
typedef struct{
  int data[stacksize];
  int top;
}Seqstack;
void push(Seqstack *s,int x)
{
  if(s->top==stacksize-1)
  {
    printf("The stack is full");
    return ;
    }
  s->data[++s->top]=x;
}
int pop(Seqstack *s)
{
  return s->data[s->top--];
}
void MultiBaseOutput(int n,int b)
{
  int i;
  Seqstack *s;
  s->top=-1;
  if(n==0)
    printf("0");
  while(n)
  {
     push(s,n%b);
     n=n/b;
   }
   while(s->top!=-1)
   {
     i=pop(s);
     printf("%d",i);
   }
}
main()
{
  MultiBaseOutput(10,2);
}

16
#include <stdio.h>
main()
{
  int A[1000],B[1000],C[1000],lena,lenb,k,temp,tempc[1000],count,temp1;
  printf("Input A:");
  for(int i=0;i<1000;i++)
  {
    scanf("%d",&A[i]);
    if(A[i]==-9999)
    {
      lena=i;
      break;
    }
  }
  printf("Input B:");
  for(int j=0;j<1000;j++)
  {
    scanf("%d",&B[j]);
    if(B[j]==-9999)
    {
      lenb=j;
      break;
     }
   }
  /*--------get A-B ,included same numbers-----------------*/
  k=0;
  for(int t=0;t<lena;t++)
    for(int m=0;m<lenb;m++)
    {
      if(A[t]==B[m])
      {
    tempc[k]=A[t];
     //    printf("%d ",tempc[k]);
    k++;
      }
    }
       // printf("k=%d",k);
   /*------------delete same numbers ------------------------*/
   count=0;
   temp=k;
   for(int x=0;x<temp-1-count;x++)
   {
     for(int y=x+1;y<temp-count;y++)
       if(tempc[x]==tempc[y])
       {
     count++;
     for(int z=y;z<temp-count;z++)
     {
       tempc[z]=tempc[z+1];
     }
     y--;
       }
   }
   temp1=temp-count;
/*----------to sort--------------------*/
  for(int r=0;r<temp1-1;r++)
  for(int c=r+1;c<temp1;c++)
  {
    if(tempc[r]>tempc[c])
    {
      temp=tempc[r];
      tempc[r]=tempc[c];
      tempc[c]=temp;
    }
  }
  /*----------to show-------------------*/
   printf("The results are:/n");
   for(int f=0;f<temp1;f++)
   {
     printf("%d ",tempc[f]);
   }
}

18
#include <stdio.h>
main()
{
  int num[2000],k,temp,times=0;
  for(int i=1;i<2000;i++)
  {
    scanf("%d",&num[i]);
    if(num[i]==-9999)
    {
      k=i;
   //   printf("i=%d",i);
      break;
     }
   }
   for(int j=2;j<k;j++)
   {
    // num[0]=num[j];
    if(num[j]<num[j-1])
    {
      num[0]=num[j];
      temp=j-1;
      do{
    times++;
    num[temp+1]=num[temp];
    temp--;
    }while(num[0]<num[temp]);
      num[temp+1]=num[0];
     }
     else
       times++;
   }
   printf("/n The ordre is:");
   for(int e=1;e<k;e++)
     printf("%d ",num[e]);
   printf("/nThe compaired times are:%d",times);
}


19
#include <stdio.h>
main()
{
  int A[1000],B[1000],C1[1000],C[1000],numa,numb,q,f,temp,temp1,count;
  printf("Please input A(end with -9999):");
  for(int i=0;i<1000;i++)
  {
    scanf("%d",&A[i]);
    if(A[i]==-9999)
    {
      numa=i;
      break;
     }
   }
   printf("Please input B(end with -9999):");
   for(int j=0;j<1000;j++)
   {
     scanf("%d",&B[j]);
     if(B[j]==-9999)
     {
       numb=j;
       break;
     }
   }
   /*find out A-B ,included same nums*/
   q=0;
   for(int r=0;r<numa;r++)
   {
     temp=A[r];
     f=0;
     for(int t=0;t<numb;t++)
     {
       if(temp!=B[t])
     f++;
     }
     if(f==numb)
     {
       C[q]=temp;
 //      printf("%d ",temp);
       q++;
     }
   }
   /*find out different nums in A-B */
   printf("The result of A-B are:");
   temp=q;
   count=0;
   for(int x=0;x<temp-1-count;x++)
   {
     for(int y=x+1;y<temp-count;y++)
       if(C[x]==C[y])
       {
     count++;
     for(int z=y;z<temp-count;z++)
     {
       C[z]=C[z+1];
     }
     y--;
       }
   }
   temp1=temp-count;
   /*---------sort C ------------*/
   for(int d=0;d<temp1;d++)
    for(int m=d+1;m<temp1;m++)
    {
      if(C[d]>C[m])
      {
    temp=C[d];
    C[d]=C[m];
    C[m]=temp;
      }
    }
    for(int u=0;u<temp1;u++)
      printf("%d ",C[u]);
}

结构化数据、半结构化数据和非结构化数据

结构化数据、半结构化数据和非结构化数据结构化数据结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。...
  • liangyihuai
  • liangyihuai
  • 2017年02月04日 18:23
  • 6543

数据结构--树(tree)的简单介绍

定义树的一种自然的方式是递归。一般的树:    一棵树是N个节点和N-1条边的集合。 树叶(leaf):没有儿子的节点。 兄弟(siblings):具有相同父亲的节点。用类似的方法可以定义祖父(gra...
  • tanga842428
  • tanga842428
  • 2016年09月05日 15:32
  • 1188

结构化数据(structured),半结构化数据(semi-structured),非结构化数据(unstructured)

研究一下分布式架构的实现方式   结构化数据(structured),半结构化数据(semi-structured),非结构化数据(unstructured)   ...
  • haiross
  • haiross
  • 2014年03月11日 17:09
  • 6624

【Java并发编程】之十一=十二-13-14-15-16-17--18-19-20-21-22-二十三

【Java并发编程】之十一:线程间通信中notify通知的遗漏(含代码) notify通知的遗漏很容易理解,即threadA还没开始wait的时候,threadB已经notify了,这样,t...
  • shenghuaDay
  • shenghuaDay
  • 2016年06月11日 09:52
  • 298

int a[] = {12,13,12,13,19,18,15,12,15,16,17},要求对数组a进行排序,要求时间复杂度为O(N)

int a[] = {12,13,12,13,19,18,15,12,15,16,17},要求对数组a进行排序,要求时间复杂度为O(N) 根据时间复杂度要求,可以用鸽巢排序。所谓鸽巢排序, 也被称...
  • qq_35420908
  • qq_35420908
  • 2017年08月05日 10:25
  • 576

数据结构高分笔记 算法2-18~2-19:双向循环链表

http://codeup.cn/problem.php?cid=100000660&pid=9 题目描述 双向链表是在结点中既保存了后一个结点指针又保存了前一个结点指针的链表。这种链表较单向链表...
  • qingchongxinshuru
  • qingchongxinshuru
  • 2016年07月09日 11:25
  • 385

线性表13|约瑟夫问题 – 数据结构和算法18

线性表13:约瑟夫问题   让编程改变世界 Change the world by program   约瑟夫问题   据说著名犹太历史学家 Josephus有过以下的故事: 在罗...
  • Andy2016
  • Andy2016
  • 2015年11月16日 17:06
  • 512

15KHz16KHz17KHz18KHz19KHz20Khz_32bit波形

  • 2014年06月24日 18:39
  • 5.99MB
  • 下载

P51第二章练习题14、15、16、17、18、19、20

  • WHF505834296
  • WHF505834296
  • 2015年04月07日 22:55
  • 487

数据结构高分笔记1327||HNCU1327:算法2-13~2-16:静态链表

http://codeup.cn/problem.php?id=1327 题目描述 静态链表是使用顺序存储结构来实现的链表。严蔚敏《数据结构(C语言版)》在介绍静态链表时使用的是一个姓氏列表。 图...
  • qingchongxinshuru
  • qingchongxinshuru
  • 2016年07月08日 23:20
  • 708
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据结构13,15,16,18,19
举报原因:
原因补充:

(最多只允许输入30个字)