Spiga

QQ聊天记录挖掘

2009-06-21 23:07 by U2U, 28 visits, 网摘, 编辑

image

暂时不写说明

实验5 数组第二小题题解

2009-06-18 07:06 by U2U, 25 visits, 网摘, 编辑

二分查找法,严禁抄袭。

   1:  /*
   2:   * 作    者:邓勖帆 (Kyle)
   3:   * 个人主页:U2U (Http://U2USoft.CNBlogs.com/)
   4:   * 
   5:   * 项    目:实验5.2  数组
   6:   * 文件名称:Assignment_52.cpp
   7:   * 创建日期:2009年6月15日
   8:   * 当前版本:1.1
   9:   * 摘    要:二分查找法
  10:   * 
  11:   * 编码风格:C/C# Crossover
  12:   * 目标平台:Windows 2003/XP以上(x86/x64)
  13:   * 编译说明:在VC++ 2008、Intel C++ Compiler 11.0下正确编译
  14:   */
  15:   
  16:  #include "stdafx.h"
  17:  #include <conio.h>
  18:   
  19:  #define pause() do{printf("\n请按任意键继续...\n");_getch();} while(0)
  20:  #define BSEARCH_ARY(ary,key,func) myBSearch(ary,key,sizeof(ary)/sizeof(ary[0]),sizeof(ary[0]),func)
  21:   
  22:  //----------------------------------------------------------
  23:  // 函数声明
  24:  int myBSearch
  25:  (
  26:   const void* _Base,
  27:   const void* _Key,
  28:   int _NumOfElements,
  29:   size_t _SizeOfElement,
  30:   int _ptFuncCompare(const void*, const void*)
  31:  );
  32:   
  33:  int cmp(const void* _elementA,const void* _elementB);
  34:  //----------------------------------------------------------
  35:   
  36:  int main()
  37:  {
  38:      int k[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
  39:      int p = 16;
  40:      printf("Index At: %d\n",BSEARCH_ARY(k, &p, cmp));
  41:   
  42:      _getch();
  43:      return 0;
  44:  }
  45:  //-----------------------------------------------------------
  46:  // 函数名称:
  47:  //     myBSearch      算是非常简短的二分搜索
  48:  // 参数:
  49:  //    - const void* _Base           数据基址
  50:  //    - const void* _Key            查找目标
  51:  //    - int _NumOfElements          元素数量
  52:  //    - size_t _SizeOfElement       元素大小
  53:  //    - int _PtFuncCompare(const void*, const void*)  比较函数
  54:  // 返回:
  55:  //      int     以0为起始的元素索引,如果没找到元素则返回-1
  56:  // 说明:
  57:  //     
  58:  //-----------------------------------------------------------
  59:  int myBSearch
  60:  (
  61:   const void* _Base,
  62:   const void* _Key,
  63:   int _NumOfElements,
  64:   size_t _SizeOfElement,
  65:   int _PtFuncCompare(const void*, const void*)
  66:   ){
  67:      const char* base = (const char*) _Base;
  68:   
  69:      for (size_t lim = _NumOfElements; lim != 0; lim >>= 1)
  70:      {
  71:          const char* p = base + (lim >> 1) * _SizeOfElement;
  72:          int cmp = _PtFuncCompare(_Key, p);
  73:   
  74:          if (cmp == 0)
  75:              return ((p - (const char*)_Base) / _SizeOfElement);
  76:          if (cmp > 0)
  77:          {
  78:              base = (const char*)p + _SizeOfElement;
  79:              lim--;
  80:          }
  81:      }
  82:   
  83:      return (-1);
  84:  }
  85:   
  86:  //----------------------------------------------------------
  87:  // 实现一个比较函数
  88:  int cmp(const void* _elementA, const void* _elementB)
  89:  {
  90:      return (*(int*)_elementA - *(int*)_elementB);
  91:  }
  92:   
  93:  //----------------------------------------------------------

暨南大学校学生会第二十届第一任信息部招新啦!

2009-06-17 20:36 by U2U, 25 visits, 网摘, 编辑

一级通缉令!!!

如果你在DV制作(拍摄、剪辑、特效)、网页制作(ASP.net、CSS、JScript)、代码编写+框架设计(.net 3.5、Sharepoint)任一方面有着过人之处,或者你身边就有这样的人,赶紧来自首或者劝他们来自首!

一旦你被我们成功拘捕,你将在接下来的一年:加入DV电影的拍摄、参与团队技术研发、到各知名企业进行参观及技术学习(如中移动、中电信)、参与学生会信息化工程、到其他学生组织及高校交流信息化建设经验......创造校学生会20届以来信息部的新辉煌!

我们深知免费自首热线会伤害您的人生观、价值观,让您的自尊受到伤害!所以,我们顶住社会压力,开放收费自首QQ号码!QQ号码:5398645(邓勖帆)、752942924(王键)、275065480(杨敏威)、23897734(谢伟静)

重刷iPod FW,回归正统路线

2009-06-17 12:25 by U2U, 31 visits, 网摘, 编辑

好久没搞过iPod了,丢弃了之前用的(Red)风格,重新回到模仿Classic的正统路线上~~现在看起来挺像Classic的,包括封面倒影的功能也实现了(这是IPW和IPH社区研究了半年多的成果)——但最重要的是,这其实是一部iPod 5.5G,即iPod Video~~~

Word 2010 TP中一个很奇怪的功能

2009-06-16 16:55 by U2U, 25 visits, 网摘, 编辑

image

如图所示。。。。有一个“日语祝贺”的功能,非常奇怪~为什么没有中文祝贺、英文祝贺……偏偏有个“日语祝贺”  =_=||

实验8.2 题解

2009-06-12 18:06 by U2U, 52 visits, 网摘, 编辑

这里我只是做了很粗糙的有一个封装:

   1:  /*
   2:   * 作    者:邓勖帆 (Kyle)
   3:   * 个人主页:U2U (Http://U2USoft.CNBlogs.com/)
   4:   * 
   5:   * 项    目:实验8.2  结构体和共同体
   6:   * 文件名称:Assignment_82.cpp
   7:   * 创建日期:2009年6月12日
   8:   * 当前版本:1.0
   9:   * 摘    要:建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。
  10:   * 
  11:   * 编码风格:C/C# Crossover
  12:   * 目标平台:Windows 2003/XP以上(x86/x64)
  13:   * 编译说明:在VC++ 2008、Intel C++ Compiler 11.0下正确编译
  14:   */
  15:   
  16:  #include "stdafx.h"
  17:  #include <conio.h>
  18:   
  19:  #include <iostream>
  20:   
  21:  #define N_Students 3
  22:  #define pause() do{printf("\n请按任意键继续...\n");_getch();} while(0)
  23:   
  24:   
  25:  struct Student
  26:  {
  27:  public:
  28:      int ID, Age, Grade;
  29:      char Name[20];
  30:      Student *Prev, *Next;
  31:   
  32:      Student()
  33:      {
  34:          std::memset(this, 0, sizeof(Student));
  35:      }
  36:   
  37:      Student* First() { return Prev ? Prev->First() : this; }
  38:      Student* Last() { return Next ? Next->Last() : this; }
  39:   
  40:      void InsertAfter(Student* lpItem)
  41:      {
  42:          if(Next)
  43:              Next->Prev = lpItem;
  44:          Next = lpItem;
  45:          lpItem->Prev = this;
  46:      }
  47:   
  48:      Student* RemoveForwards()
  49:      {
  50:          Student* tmp = this->Next;
  51:          RemoveThis();
  52:          delete this;
  53:          return tmp;
  54:      }
  55:   
  56:      Student* RemoveBackwards()
  57:      {
  58:          Student* tmp = this->Prev;
  59:          RemoveThis();
  60:          delete this;
  61:          return tmp;
  62:      }
  63:   
  64:  private:
  65:      void RemoveThis()
  66:      {
  67:          if(Prev)
  68:              Prev->Next = Next;
  69:          if(Next)
  70:              Next->Prev = Prev;
  71:      }
  72:  };
  73:   
  74:  int main()
  75:  {
  76:      int searchAge;
  77:      Student* lpTrack = NULL;
  78:   
  79:      printf("请输入%d个学生的信息,格式:姓名+回车+学号 年龄 年级\n",N_Students);
  80:      for(int i = 1; i <= N_Students; i++)
  81:      {
  82:          Student* curItem = new Student();
  83:   
  84:          printf("#%d\n",i);
  85:          scanf("%s", &curItem->Name);
  86:          scanf("%d %d %d", &curItem->ID, &curItem->Age, &curItem->Grade);
  87:   
  88:          if(lpTrack)
  89:              lpTrack->InsertAfter(curItem);
  90:   
  91:          lpTrack = curItem;
  92:      }
  93:   
  94:      printf("请输入年龄条件:");
  95:      scanf("%d", &searchAge);
  96:   
  97:      do
  98:      {
  99:          if(lpTrack->Age == searchAge)
 100:              lpTrack = lpTrack->RemoveBackwards();
 101:          else
 102:              lpTrack = lpTrack->Prev;
 103:      }
 104:      while(lpTrack->Prev);
 105:      if(lpTrack->Age == searchAge)
 106:          lpTrack = lpTrack->RemoveForwards();
 107:   
 108:      printf("删除后的结果:\n");
 109:      lpTrack = lpTrack->First();
 110:      while(lpTrack)
 111:      {
 112:          printf("%s\n", lpTrack->Name);
 113:          lpTrack = lpTrack->Next;
 114:      }
 115:   
 116:      while(lpTrack)
 117:      {
 118:          lpTrack = lpTrack->RemoveBackwards();
 119:      }
 120:      
 121:      pause();
 122:      return 0;
 123:  }
 124:   

热烈祝贺

2009-06-11 18:06 by U2U, 23 visits, 网摘, 编辑

热烈祝贺!!M2M Group很黄很暴力,加油!

"The M2M Pathfinding Algorithm Based on the Idea of Granular Computing"

has been accepted as a Regular paper for oral presentation at
the conference and for publication in the conference proceedings
to be published by the IEEE Computer Society Press.

Congratulations!

IEEE/WIC/ACM IAT-2009 is a highly selective conference; only
18% of the 244 submissions were accepted as
regular papers and 24% of the submissions were accepted as
short papers. Papers went through a rigorous review process.
Most papers were reviewed by three program committee members.

算法复习 - KMP

2009-06-11 12:02 by U2U, 34 visits, 网摘, 编辑
   1:  /*
   2:   * 作    者:邓勖帆 (Kyle)
   3:   * 个人主页:U2U (Http://U2USoft.CNBlogs.com/)
   4:   * 
   5:   * 项    目:ITA_C7_KMP
   6:   * 文件名称:C7_KMP.cpp
   7:   * 创建日期:2009年6月11日
   8:   * 当前版本:1.0
   9:   * 摘    要:《ITA》算法复习,KMP算法的实现
  10:   * 
  11:   * 编码风格:C/C# Crossover
  12:   * 目标平台:Windows 2003/XP以上(x86/x64)
  13:   * 编译说明:在VC++ 2008、Intel C++ Compiler 11.0下正确编译
  14:   */
  15:   
  16:  #include "stdafx.h"
  17:  #include <conio.h>
  18:   
  19:  #include <iostream>
  20:  #include <string>
  21:  #include <vector>
  22:   
  23:  using namespace std;
  24:   
  25:  int KMP(string,string,int skip = 0);
  26:  vector<int> KMP_Prefix(string);
  27:   
  28:  int main()
  29:  {
  30:      printf("%d", KMP("hitmehitmeplhim","ehitmeplhim"));
  31:   
  32:      _getch();
  33:      return 0;
  34:  }
  35:   
  36:  int KMP(string target, string pattern, int skip)
  37:  {
  38:      if(target.length() < pattern.length()) return -1;
  39:   
  40:      vector<int> pi = KMP_Prefix(pattern);
  41:      int matched = 0;
  42:      int count = 0;
  43:   
  44:      for(int curLoc = 0; curLoc <= target.length(); curLoc++)
  45:      {
  46:          if(pattern[matched] == target[curLoc])
  47:              matched++;
  48:          else
  49:              matched = pi[matched];
  50:   
  51:          if(matched == pattern.length())
  52:              if(skip == count)
  53:              {
  54:                  pi.~vector();
  55:                  return (curLoc - matched + 1);
  56:              }
  57:              else
  58:                  count++;
  59:      }
  60:   
  61:      pi.~vector();
  62:      return -1;
  63:  }
  64:   
  65:  vector<int> KMP_Prefix(string pattern)
  66:  {
  67:      vector<int> pi(pattern.length());   // π 函数
  68:      int k = 0;
  69:      pi[1] = 0;
  70:   
  71:      for(int curLoc = 1; curLoc <= pattern.length() - 1; curLoc++)
  72:      {
  73:          if(pattern[curLoc] == pattern[k])
  74:              pi[curLoc] = ++k;
  75:          else
  76:          {
  77:              k = 0;
  78:              pi[curLoc] = 0;
  79:          }
  80:      }
  81:   
  82:      return pi;
  83:  }
  84:   

我的竞选年度计划书

2009-06-08 22:41 by U2U, 51 visits, 网摘, 编辑

2天2夜,终于写好我的竞选年度计划书了,18页、7979字,截个图,谨以此纪念。

image

公关部年度总结提示

2009-06-05 20:04 by U2U, 49 visits, 网摘, 编辑

亲爱的猩猩们不知道该怎么写年度总结,现在我提供一些可以参考的题目:

image