楼主说的不是很清楚,是不是要代码是用C#写的数据结构算法之类的书啊,C#没有,不过C倒是有,其实你如果懂C的话,找本C的看看就行了,算法主要是要学一种思想,我们不意它是用哪种语言写的

解决方案 »

  1.   

    蹭点分
    from http://topic.csdn.net/t/20050517/16/4013920.htmlusing   System;   
        
      public   Class1   
      {   
      public   Class1(){};   
      public   const   int   X=5;   
      public   const   int   Y=7;   
      //在c#中不提倡指针,所以方法void   xi_max(int   *m2,int   *mn1,float   *c,int   *is,int   *ir,int     
      //*j0,float   (*a)[X][Y])变为:   
      void   xi_max(ref   int   m2,ref   int   mn1,ref   float   c,ref   int   is,ref   int   ir,ref   int   j0,ref   float   a[X][Y])   
      {   int   j,c=0;   
      for(j=1;j<=is;j++)   
      {   if((a[ir][j]-c>0)   
      {   
      c=a[ir][j];   
      j0=j;}}}   
        
      方法int   xi_sm(int   m,int   n,int   m2,int   mn1,int   l1,float   (*a)[X][Y],   
                  int(*k)[],float(*x)[])   
      依次类推,只是2个goto   heap有点麻烦,可以采用循环的形式..   
      int   xi_sm(int   m,int   n,int   m2,int   mn1,int   l1,ref   float   a[X][Y],ref   int   k[],ref   float   x[])   
      {   
      int   i,m1,mn,j0,i0,j;   
          float   c,g;   
          m1=m+1;   
          mn=m+n;   
          for(i=1;i<=m;i++)   
              k[i]=n+i;   
      while(true)   
      {   
      if(l1-1==0)   
                xi_max(ref   m2,ref   mn1,ref   c,ref   mn,ref   m1,ref   j0,a);   
      while(true)//这个while(true){}就对应着goto   leap2---leap2结构...   
      {   
      if(l1-50==0)   
                  xi_max(ref   m2,ref   mn,ref   c,ref   n,ref   m2,ref   j0,a);   
                  if((l1-1)!=0&&(l1-50)!=0)   
                  xi_max(ref   m2,ref   mn1,ref   c,ref   mn,ref   m2,ref   j0,a);   
                  c-=1e-8;//?????????????????????????????????????????   
            if((c<=0)&&(l1==1)&&((*a)[m1][mn1]-1e-8>0))   
                  {   
              Console.WriteLine("\n\t*********Not   min&&No   solution**********\n");   
              return(-1);   
                  }   
            if((c<0)&&(l1==1))   
                    {   
                l1=50;}}   
      .............   
        
      }   
        
      public   static   void   Main(sting[]   Args)   
      {   
      float   a[5][7]={{0,0,0,   0,     0,0,0},   
                                        {0,3,-4,3,     1,0,12},   
                                        {0,3,0,   6,     0,1,12},   
                                        {0,0,0,   0,     0,0,0},   
                                        {0,69,0,144,0,0,300}};   
          int   k[3];   
          float   x[3];   
          clrscr();   
          xi_sm(2,3,4,6,0,ref   a,ref   k,ref   x);   
      }   
        
      }