数据结构1-5

原创 2006年06月11日 12:40:00
1
#include <stdio.h>
int succ(int x)
{
  return ++x;
}
int pred(int y)
{
  return --y;
}
int add(int& a,int& b)
{
  int x;
  if(b>0)
    x=add(succ(a),pred(b));
  if(b<0)
    x=add(pred(a),succ(b));
  if(b==0)
    x=a;
  if(a==0)
    x=b;
  return x;
}
int sub(int& a,int& b)
{
  int y;
  if(a==0)
    y=0-b;
  if(b==0)
    y=a;
  if(b>0)
    y=sub(pred(a),pred(b));
  if(b<0)
    y=sub(succ(a),succ(b));
  return y;
}
main()
{
  printf("%d ",add(1,-10));
  printf("%d ",sub(-1,-9));
}

2#include  <stdio.h>
#define ListSize 20
typedef struct{
  int data[ListSize];
  int length;
} Seqlist;
main()
{
  Seqlist *sql;
  int temp;
  printf("Please input ten integers:");
  for(int i=0;i<10;i++)
    scanf("%d",&sql->data[i]);
  sql->length=10;
  for(int j=sql->length-1,k=0;j>4;j--,k++)
  {
    temp=sql->data[k];
    sql->data[k]=sql->data[j];
    sql->data[j]=temp;
  }
  for(int m=0;m<sql->length;m++)
    printf("%d ",sql->data[m]);
}

3
#include <stdio.h>
#include <malloc.h>
typedef struct node{
  int data;
  struct node *next;
}ListNode;
typedef ListNode * LinkList;
void Lz(LinkList &t)
{
  ListNode *p,*q;
  p=NULL;
  while(t!=NULL)
  {
    q=t;
    t=t->next;
    q->next=p;
    p=q;
  }
  t=p;
}
main()
{
  LinkList head;
  ListNode *s, *r,*l;
  head=NULL;
  r=NULL;
  printf("Please input ten numbers:");
  for(int i=0;i<10;i++)
  {
    s=(ListNode*)malloc(sizeof(ListNode));
    scanf("%d",&s->data);
    if(head==NULL)
      head=s;
    else
      r->next=s;
    r=s;
  }
  if(r!=NULL)
    r->next=NULL;
  Lz(head);
  printf("The inversed ten numbers are:");
  l=head;
  for(int x=0;x<10;x++)
  {
    printf("%d ",l->data);
    l=l->next;
  }
}
顺序表
#include  <stdio.h>
#define ListSize 20
typedef struct{
  int data[ListSize];
  int length;
} Seqlist;
main()
{
  Seqlist *sql;
  int temp;
  printf("Please input ten integers:");
  for(int i=0;i<10;i++)
    scanf("%d",&sql->data[i]);
  sql->length=10;
  for(int j=sql->length-1,k=0;j>4;j--,k++)
  {
    temp=sql->data[k];
    sql->data[k]=sql->data[j];
    sql->data[j]=temp;
  }
  for(int m=0;m<sql->length;m++)
    printf("%d ",sql->data[m]);
}


4
#include <stdio.h>
#define maxsize 100
typedef char datatype;
typedef struct{
  datatype data[maxsize];
  int front,rear,count;
}cycqueue;
int EnQueue(cycqueue* sq,datatype x)
{
  if(sq->count==maxsize)
  {
    printf("full");
    return 0;
  }
  else
  {
    sq->count++;
    sq->data[sq->rear]=x;
    sq->rear=(sq->rear+1)%maxsize;
    return 1;
   }
}
main()
{
  int m;
  cycqueue *sq;
  sq->front=sq->rear=0;
  sq->count= 0;

  m=EnQueue(sq,'y');
  printf("%d ",m);
}

5
#include <stdio.h>
int C[9];
void combin(int A[5],int B[4])
{
  int m,p,temp;
  for(int i=0;i<5;i++)
    C[i]=A[i];
  for(int j=5;j<9;j++)
    C[j]=B[j-5];
  for(m=0;m<8;m++)
  {
  //  k=m;
    for(p=m+1;p<9;p++)
    //  if(C[p]<C[k])
      //    k=p;
   // if(k!=m)
    if(C[p]<C[m])
    {
      temp=C[m];C[m]=C[p];C[p]=temp;
    }
  }
}
main()
{
int a[5]={1,2000,3000,4,1},b[4]={0,97,100,20};
combin(a,b);
for(int f=0;f<9;f++)
  printf("%d ",C[f]);
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

泛函编程(5)-数据结构(Functional Data Structures)

编程即是编制对数据进行运算的过程。特殊的运算必须用特定的数据结构来支持有效运算。如果没有数据结构的支持,我们就只能为每条数据申明一个内存地址了,然后使用这些地址来操作这些数据,也就是我们熟悉的申明变量...

泛函编程(5)-数据结构(Functional Data Structures)

编程即是编制对数据进行运算的过程。特殊的运算必须用特定的数据结构来支持有效运算。如果没有数据结构的支持,我们就只能为每条数据申明一个内存地址了,然后使用这些地址来操作这些数据,也就是我们熟悉的申明变量...

pandas的数据结构-DataFrame1

要是用pandas,你首先得了解它的两个主要数据结构:Series和DataFrame,这里我将简单介绍一下DataFrameDataFrame,Python,pandas

数据结构算法与应用(1-5)

  • 2007-11-24 03:59
  • 3.38MB
  • 下载

zeromq源代码分析5-1------管道相关的数据结构yqueue, ypipe, pipe等

本文主要分析管道相关的数据结构yqueue, ypipe, pipe等。我们一个个来分析,先看yqueue:yqueue是一个高效的队列实现。它主要通过批量的分配/释放数据元素来减少分配/释放的次数来...
  • kaka11
  • kaka11
  • 2011-07-21 12:22
  • 5852

Chapter5-1: pandas 数据结构介绍

''' Chapter5-1: pandas 数据结构介绍 索引: 一、 Series(序列数据) 1.生成Series:pd.Series(value,index),index 默认0123...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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