<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>TheMrxk丶Blog</title>
  
  <subtitle>致力于分享自己计算机经验</subtitle>
  <link href="/atom.xml" rel="self"/>
  
  <link href="https://blog.orghub.cn/"/>
  <updated>2019-12-23T06:34:06.204Z</updated>
  <id>https://blog.orghub.cn/</id>
  
  <author>
    <name>TheMrxk个人博客</name>
    
  </author>
  
  <generator uri="http://hexo.io/">Hexo</generator>
  
  <entry>
    <title>数据库的基本语句</title>
    <link href="https://blog.orghub.cn/2019/12/23/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%9F%BA%E6%9C%AC%E8%AF%AD%E5%8F%A5/"/>
    <id>https://blog.orghub.cn/2019/12/23/数据库的基本语句/</id>
    <published>2019-12-23T06:16:47.000Z</published>
    <updated>2019-12-23T06:34:06.204Z</updated>
    
    <content type="html"><![CDATA[<h1 id="数据库"><a href="#数据库" class="headerlink" title="数据库"></a>数据库</h1><h2 id="MySQL"><a href="#MySQL" class="headerlink" title="MySQL"></a>MySQL</h2><h3 id="–-查询学号前五位同学"><a href="#–-查询学号前五位同学" class="headerlink" title="–  查询学号前五位同学"></a><strong>–</strong>  <strong>查询</strong>学号前五位同学</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> STUDENT_ID,STUDENT_NM,MOBILE_PHONE</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student </span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> STUDENT_ID </span><br><span class="line"></span><br><span class="line"><span class="keyword">LIMIT</span> <span class="number">5</span></span><br></pre></td></tr></table></figure><h3 id="–-去除重复的人"><a href="#–-去除重复的人" class="headerlink" title="–  去除重复的人"></a>–  去除重复的人</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> <span class="keyword">DISTINCT</span> STUDENT_NM</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student</span><br></pre></td></tr></table></figure><h3 id="–-查询0010学号往后的5位同学"><a href="#–-查询0010学号往后的5位同学" class="headerlink" title="–  查询0010学号往后的5位同学"></a><strong>–</strong>  <strong>查询</strong>0010学号往后的5位同学</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> STUDENT_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> STUDENT_ID <span class="keyword">LIKE</span> <span class="string">'SX00%'</span> </span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> STUDENT_ID </span><br><span class="line"></span><br><span class="line"><span class="keyword">LIMIT</span> <span class="number">10</span>,<span class="number">5</span></span><br></pre></td></tr></table></figure><h3 id="–-查询7月份出生的"><a href="#–-查询7月份出生的" class="headerlink" title="–  查询7月份出生的"></a><strong>–</strong>  <strong>查询</strong>7月份出生的</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> BIRTHDAY</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> BIRTHDAY <span class="keyword">LIKE</span> <span class="string">'%/07/%'</span></span><br></pre></td></tr></table></figure><h3 id="–-查询学号是0001和0006的学生"><a href="#–-查询学号是0001和0006的学生" class="headerlink" title="–  查询学号是0001和0006的学生"></a><strong>–</strong>  查询学号是0001和0006的学生</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> STUDENT_ID,STUDENT_NM</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> STUDENT_ID = <span class="string">'SX0001'</span> <span class="keyword">OR</span> STUDENT_ID = <span class="string">'SX0006'</span></span><br></pre></td></tr></table></figure><h3 id="–-查询学号是0001和0006的学生-1"><a href="#–-查询学号是0001和0006的学生-1" class="headerlink" title="–  查询学号是0001和0006的学生"></a>–  查询学号是0001和0006的学生</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> STUDENT_ID,STUDENT_NM</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> STUDENT_ID <span class="keyword">IN</span> (<span class="string">'SX0001'</span>,<span class="string">'SX0006'</span>)</span><br></pre></td></tr></table></figure><h3 id="–-班级是001和97年出生的"><a href="#–-班级是001和97年出生的" class="headerlink" title="–  班级是001和97年出生的"></a>–  班级是001和97年出生的</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> CLASSID,BIRTHDAY,STUDENT_ID,STUDENT_NM</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> CLASSID = <span class="string">'001'</span> <span class="keyword">OR</span> BIRTHDAY <span class="keyword">LIKE</span> <span class="string">'1997/%'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> CLASSID</span><br></pre></td></tr></table></figure><h3 id="–-班级是001并且97年出生的"><a href="#–-班级是001并且97年出生的" class="headerlink" title="–  班级是001并且97年出生的"></a>–  班级是001并且97年出生的</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> CLASSID,BIRTHDAY,STUDENT_ID,STUDENT_NM</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> CLASSID = <span class="string">'001'</span> <span class="keyword">AND</span> BIRTHDAY <span class="keyword">LIKE</span> <span class="string">'1997/%'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> CLASSID</span><br></pre></td></tr></table></figure><h3 id="–-在输入的时候能查询，不输入的时候输出所有"><a href="#–-在输入的时候能查询，不输入的时候输出所有" class="headerlink" title="–  在输入的时候能查询，不输入的时候输出所有"></a>–  在输入的时候能查询，不输入的时候输出所有</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SET</span> @student = <span class="string">'SX0001'</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">SELECT</span> CLASSID,BIRTHDAY,STUDENT_ID,STUDENT_NM</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student t</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> (@student &lt;&gt; <span class="string">''</span> <span class="keyword">AND</span> t.STUDENT_ID = @student) <span class="keyword">OR</span> (@student = <span class="string">''</span> t.STUDENT_ID = t.STUDENT_ID)</span><br></pre></td></tr></table></figure><h4 id="–-同上"><a href="#–-同上" class="headerlink" title="–  同上"></a>–  同上</h4><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SET</span> @student = <span class="string">'sx0001'</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">SELECT</span> CLASSID,BIRTHDAY,STUDENT_ID,STUDENT_NM</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student t</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> (@student = <span class="string">''</span> <span class="keyword">AND</span> <span class="number">1</span>=<span class="number">1</span>) <span class="keyword">OR</span> t.STUDENT_ID = @student</span><br></pre></td></tr></table></figure><h4 id="–-同上-1"><a href="#–-同上-1" class="headerlink" title="–  同上"></a>–  同上</h4><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SET</span> @student = <span class="string">'sx0001'</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">SELECT</span> CLASSID,BIRTHDAY,STUDENT_ID,STUDENT_NM</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student t</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> @student = <span class="string">''</span> <span class="keyword">OR</span> t.STUDENT_ID = @student</span><br></pre></td></tr></table></figure><h3 id="–-查询出生97年1-6月份的"><a href="#–-查询出生97年1-6月份的" class="headerlink" title="–  查询出生97年1~6月份的"></a>–  查询出生97年1~6月份的</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> STUDENT_NM,BIRTHDAY</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student t</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> t.BIRTHDAY <span class="keyword">BETWEEN</span> <span class="string">'1997/01/01'</span> <span class="keyword">AND</span> <span class="string">'1997/06/31'</span></span><br></pre></td></tr></table></figure><h3 id="–-查询用户ID-用户姓名-性别-班级-教师-职称-成绩-成绩总和"><a href="#–-查询用户ID-用户姓名-性别-班级-教师-职称-成绩-成绩总和" class="headerlink" title="–  查询用户ID,用户姓名,性别,班级,教师,职称,成绩,成绩总和"></a>–  查询用户ID,用户姓名,性别,班级,教师,职称,成绩,成绩总和</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> s.STUDENT_ID,s.STUDENT_NM,m1.NM,c.CLASS_NM,t.TEACHER_NM,m.NM,a.CHINESE,a.MATHEMATICS,a.ENGLISH,a.CHINESE+a.MATHEMATICS+a.ENGLISH <span class="keyword">AS</span> 总和</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_class c <span class="keyword">on</span> s.STUDENT_ID = c.STUDENT_ID <span class="keyword">AND</span> S.CLASSID = C.CLASS_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_teacher t <span class="keyword">on</span> t.TEACHER_ID = c.HEAD_MASTER</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_mast m <span class="keyword">on</span> t.TEACHER_LEVEL = m.CD <span class="keyword">AND</span> m.TYPE_CD = <span class="string">'02'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_mast m1 <span class="keyword">on</span> s.SEX = m1.CD <span class="keyword">AND</span> m1.TYPE_CD = <span class="string">'01'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">on</span> a.STUDENT_ID = s.STUDENT_ID </span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> s.STUDENT_ID</span><br></pre></td></tr></table></figure><h3 id="–-当遇到成绩中为空值的时候需要使用IFNULL函数，将空值变成0在继续计算"><a href="#–-当遇到成绩中为空值的时候需要使用IFNULL函数，将空值变成0在继续计算" class="headerlink" title="–  当遇到成绩中为空值的时候需要使用IFNULL函数，将空值变成0在继续计算"></a>–  当遇到成绩中为空值的时候需要使用IFNULL函数，将空值变成0在继续计算</h3><p>I</p><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">FNULL(a.CHINESE,0)+IFNULL(a.MATHEMATICS,0)+IFNULL(a.ENGLISH,0) AS 总成绩</span><br></pre></td></tr></table></figure><h3 id="–-查询出平局成绩小于60的不及格-无成绩的显示空"><a href="#–-查询出平局成绩小于60的不及格-无成绩的显示空" class="headerlink" title="–  查询出平局成绩小于60的不及格,无成绩的显示空"></a>–  查询出平局成绩小于60的不及格,无成绩的显示空</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> s.STUDENT_ID <span class="keyword">AS</span> 学生<span class="keyword">ID</span>,</span><br><span class="line"></span><br><span class="line">​s.STUDENT_NM <span class="keyword">AS</span> 学生姓名,</span><br><span class="line"></span><br><span class="line">​m1.NM <span class="keyword">AS</span> 性别,</span><br><span class="line"></span><br><span class="line">​c.CLASS_NM <span class="keyword">AS</span> 班级,</span><br><span class="line"></span><br><span class="line">​t.TEACHER_NM <span class="keyword">AS</span> 班主任,</span><br><span class="line"></span><br><span class="line">​m.NM <span class="keyword">AS</span> 教师等级,</span><br><span class="line"></span><br><span class="line">​a.CHINESE <span class="keyword">AS</span> 语文,</span><br><span class="line"></span><br><span class="line">​a.MATHEMATICS <span class="keyword">AS</span> 数学成绩,</span><br><span class="line"></span><br><span class="line">​a.ENGLISH <span class="keyword">AS</span> 英语, </span><br><span class="line"></span><br><span class="line">​a.CHINESE+a.MATHEMATICS+a.ENGLISH <span class="keyword">AS</span> 总成绩,</span><br><span class="line"></span><br><span class="line">​(a.CHINESE+a.MATHEMATICS+a.ENGLISH)/<span class="number">3</span> <span class="keyword">AS</span> 平均成绩,</span><br><span class="line"></span><br><span class="line">​<span class="keyword">TIMESTAMPDIFF</span>(<span class="keyword">YEAR</span>,s.BIRTHDAY,<span class="keyword">CURDATE</span>()) <span class="keyword">AS</span> 年龄,</span><br><span class="line"></span><br><span class="line"><span class="keyword">CASE</span> </span><br><span class="line"></span><br><span class="line">​<span class="keyword">WHEN</span> (a.CHINESE+a.ENGLISH+a.MATHEMATICS)/<span class="number">3</span> &gt;= <span class="number">60</span> <span class="keyword">THEN</span></span><br><span class="line"></span><br><span class="line">​<span class="string">'及格'</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">WHEN</span> (a.CHINESE+a.ENGLISH+a.MATHEMATICS)/<span class="number">3</span> &lt; <span class="number">60</span> <span class="keyword">THEN</span></span><br><span class="line"></span><br><span class="line">​<span class="string">'不及格'</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">ELSE</span></span><br><span class="line"></span><br><span class="line">​<span class="string">''</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">END</span> <span class="keyword">AS</span> 是否及格</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_class c <span class="keyword">on</span> s.STUDENT_ID = c.STUDENT_ID <span class="keyword">AND</span> S.CLASSID = C.CLASS_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_teacher t <span class="keyword">on</span> t.TEACHER_ID = c.HEAD_MASTER</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_mast m <span class="keyword">on</span> t.TEACHER_LEVEL = m.CD <span class="keyword">AND</span> m.TYPE_CD = <span class="string">'02'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_mast m1 <span class="keyword">on</span> s.SEX = m1.CD <span class="keyword">AND</span> m1.TYPE_CD = <span class="string">'01'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">on</span> a.STUDENT_ID = s.STUDENT_ID </span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> s.STUDENT_ID</span><br></pre></td></tr></table></figure><h3 id="–-查询学号SX0002和班级001的学生-UNION练习"><a href="#–-查询学号SX0002和班级001的学生-UNION练习" class="headerlink" title="–  查询学号SX0002和班级001的学生(UNION练习)"></a>–  查询学号SX0002和班级001的学生(UNION练习)</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> *</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s </span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> s.STUDENT_ID = <span class="string">'SX0002'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">UNION</span> ALL</span><br><span class="line"></span><br><span class="line"><span class="keyword">SELECT</span> *</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s <span class="keyword">WHERE</span>  S.CLASSID = <span class="string">'001'</span></span><br></pre></td></tr></table></figure><h3 id="–-查询三个班级的总成绩"><a href="#–-查询三个班级的总成绩" class="headerlink" title="– 查询三个班级的总成绩"></a>– 查询三个班级的总成绩</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">SUM</span>(<span class="keyword">CASE</span> </span><br><span class="line"></span><br><span class="line">​<span class="keyword">WHEN</span> c.CLASS_ID = <span class="string">'001'</span>  <span class="keyword">THEN</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">IFNULL</span>(a.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.ENGLISH,<span class="number">0</span>)</span><br><span class="line"></span><br><span class="line">​<span class="keyword">ELSE</span></span><br><span class="line"></span><br><span class="line">​<span class="number">0</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">END</span>) <span class="keyword">AS</span> 一年一班成绩总和,</span><br><span class="line"></span><br><span class="line"><span class="keyword">SUM</span>(<span class="keyword">CASE</span> </span><br><span class="line"></span><br><span class="line">​<span class="keyword">WHEN</span> c.CLASS_ID = <span class="string">'002'</span>  <span class="keyword">THEN</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">IFNULL</span>(a.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.ENGLISH,<span class="number">0</span>)</span><br><span class="line"></span><br><span class="line">​<span class="keyword">ELSE</span></span><br><span class="line"></span><br><span class="line">​<span class="number">0</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">END</span>) <span class="keyword">AS</span> 一年二班成绩总和,</span><br><span class="line"></span><br><span class="line"><span class="keyword">SUM</span>(<span class="keyword">CASE</span> </span><br><span class="line"></span><br><span class="line">​<span class="keyword">WHEN</span> c.CLASS_ID = <span class="string">'003'</span>  <span class="keyword">THEN</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">IFNULL</span>(a.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.ENGLISH,<span class="number">0</span>)</span><br><span class="line"></span><br><span class="line">​<span class="keyword">ELSE</span></span><br><span class="line"></span><br><span class="line">​<span class="number">0</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">END</span>) <span class="keyword">AS</span> 一年三班成绩总和,</span><br><span class="line"></span><br><span class="line"><span class="keyword">SUM</span>(<span class="keyword">CASE</span> </span><br><span class="line"></span><br><span class="line">​<span class="keyword">WHEN</span> c.CLASS_ID = <span class="string">'004'</span>  <span class="keyword">THEN</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">IFNULL</span>(a.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.ENGLISH,<span class="number">0</span>)</span><br><span class="line"></span><br><span class="line">​<span class="keyword">ELSE</span></span><br><span class="line"></span><br><span class="line">​<span class="number">0</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">END</span>) <span class="keyword">AS</span> 一年四班成绩总和</span><br><span class="line"></span><br><span class="line"> </span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_class c <span class="keyword">on</span> s.STUDENT_ID = c.STUDENT_ID <span class="keyword">AND</span> S.CLASSID = C.CLASS_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">on</span> a.STUDENT_ID = s.STUDENT_ID </span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> s.STUDENT_ID</span><br></pre></td></tr></table></figure><h4 id="–-同上-2"><a href="#–-同上-2" class="headerlink" title="– 同上"></a>– 同上</h4><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> c.CLASS_NM,<span class="keyword">SUM</span>(<span class="keyword">IFNULL</span>(a.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.ENGLISH,<span class="number">0</span>)) <span class="keyword">AS</span> 总成绩</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_class c <span class="keyword">on</span> s.STUDENT_ID = c.STUDENT_ID <span class="keyword">AND</span> S.CLASSID = C.CLASS_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">on</span> a.STUDENT_ID = s.STUDENT_ID </span><br><span class="line"></span><br><span class="line"><span class="keyword">GROUP</span> <span class="keyword">BY</span> c.CLASS_NM</span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> c.CLASS_ID</span><br></pre></td></tr></table></figure><h3 id="–-查询每个班的前三名"><a href="#–-查询每个班的前三名" class="headerlink" title="– 查询每个班的前三名"></a>– 查询每个班的前三名</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> s.STUDENT_ID,s.CLASSID,<span class="keyword">IFNULL</span>(a.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.ENGLISH,<span class="number">0</span>) <span class="keyword">AS</span> 总成绩</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">on</span> a.STUDENT_ID = s.STUDENT_ID </span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> (<span class="keyword">SELECT</span> <span class="keyword">count</span>(*) </span><br><span class="line"></span><br><span class="line">​<span class="keyword">FROM</span> t_student s1 </span><br><span class="line"></span><br><span class="line">​<span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement ac <span class="keyword">on</span> ac.STUDENT_ID = s1.STUDENT_ID </span><br><span class="line"></span><br><span class="line">​<span class="keyword">WHERE</span> s.CLASSID = s1.CLASSID <span class="keyword">AND</span> <span class="keyword">IFNULL</span>(a.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.ENGLISH,<span class="number">0</span>) &lt; <span class="keyword">IFNULL</span>(ac.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(ac.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(ac.ENGLISH,<span class="number">0</span>)) &lt; <span class="number">3</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> CLASSID,<span class="keyword">IFNULL</span>(a.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.ENGLISH,<span class="number">0</span>) <span class="keyword">DESC</span></span><br></pre></td></tr></table></figure><h4 id="–-同上-3"><a href="#–-同上-3" class="headerlink" title="– 同上"></a>– 同上</h4><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br></pre></td><td class="code"><pre><span class="line">(<span class="keyword">SELECT</span> s.STUDENT_NM,s.CLASSID,c.CLASS_NM,<span class="keyword">IFNULL</span>(a.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.ENGLISH,<span class="number">0</span>) <span class="keyword">AS</span> 总成绩</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_class c <span class="keyword">on</span> s.STUDENT_ID = c.STUDENT_ID <span class="keyword">AND</span> S.CLASSID = C.CLASS_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">ON</span> a.STUDENT_ID = s.STUDENT_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> c.CLASS_NM = <span class="string">'一年一班'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> 总成绩 <span class="keyword">DESC</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">LIMIT</span> <span class="number">3</span>)</span><br><span class="line"></span><br><span class="line"><span class="keyword">UNION</span></span><br><span class="line"></span><br><span class="line">(<span class="keyword">SELECT</span> s.STUDENT_NM,s.CLASSID,c.CLASS_NM,<span class="keyword">IFNULL</span>(a.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.ENGLISH,<span class="number">0</span>) <span class="keyword">AS</span> 总成绩</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_class c <span class="keyword">on</span> s.STUDENT_ID = c.STUDENT_ID <span class="keyword">AND</span> S.CLASSID = C.CLASS_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">ON</span> a.STUDENT_ID = s.STUDENT_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> c.CLASS_NM = <span class="string">'一年二班'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> 总成绩 <span class="keyword">DESC</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">LIMIT</span> <span class="number">3</span>)</span><br><span class="line"></span><br><span class="line"><span class="keyword">UNION</span></span><br><span class="line"></span><br><span class="line">(<span class="keyword">SELECT</span> s.STUDENT_NM,s.CLASSID,c.CLASS_NM,<span class="keyword">IFNULL</span>(a.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.ENGLISH,<span class="number">0</span>) <span class="keyword">AS</span> 总成绩</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_class c <span class="keyword">on</span> s.STUDENT_ID = c.STUDENT_ID <span class="keyword">AND</span> S.CLASSID = C.CLASS_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">ON</span> a.STUDENT_ID = s.STUDENT_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> c.CLASS_NM = <span class="string">'一年三班'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> 总成绩 <span class="keyword">DESC</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">LIMIT</span> <span class="number">3</span>)</span><br><span class="line"></span><br><span class="line"><span class="keyword">UNION</span></span><br><span class="line"></span><br><span class="line">(<span class="keyword">SELECT</span> s.STUDENT_NM,s.CLASSID,c.CLASS_NM,<span class="keyword">IFNULL</span>(a.CHINESE,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>)+<span class="keyword">IFNULL</span>(a.ENGLISH,<span class="number">0</span>) <span class="keyword">AS</span> 总成绩</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_class c <span class="keyword">on</span> s.STUDENT_ID = c.STUDENT_ID <span class="keyword">AND</span> S.CLASSID = C.CLASS_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">ON</span> a.STUDENT_ID = s.STUDENT_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span> c.CLASS_NM = <span class="string">'一年四班'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span> 总成绩 <span class="keyword">DESC</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">LIMIT</span> <span class="number">3</span>)</span><br></pre></td></tr></table></figure><h4 id="–-同理"><a href="#–-同理" class="headerlink" title="– 同理"></a>– 同理</h4><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line">​t.STUDENT_ID,</span><br><span class="line"></span><br><span class="line">​<span class="keyword">IFNULL</span>( ach.CHINESE, <span class="number">0</span> ),</span><br><span class="line"></span><br><span class="line">​t.CLASSID </span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span></span><br><span class="line"></span><br><span class="line">​t_achievement ach</span><br><span class="line"></span><br><span class="line">​<span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_student t <span class="keyword">ON</span> ach.STUDENT_ID = t.STUDENT_ID </span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">EXISTS</span> (</span><br><span class="line"></span><br><span class="line">​<span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">COUNT</span>( * ) </span><br><span class="line"></span><br><span class="line">​<span class="keyword">FROM</span></span><br><span class="line"></span><br><span class="line">​t_achievement ach1</span><br><span class="line"></span><br><span class="line">​<span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_student t1 <span class="keyword">ON</span> ach1.STUDENT_ID = t1.STUDENT_ID </span><br><span class="line"></span><br><span class="line">​<span class="keyword">WHERE</span></span><br><span class="line"></span><br><span class="line">​t.CLASSID = t1.CLASSID </span><br><span class="line"></span><br><span class="line">​<span class="keyword">AND</span> <span class="keyword">IFNULL</span>( ach.CHINESE, <span class="number">0</span> ) &lt;= <span class="keyword">IFNULL</span>( ach1.CHINESE, <span class="number">0</span> )  </span><br><span class="line"></span><br><span class="line">​<span class="keyword">GROUP</span> <span class="keyword">BY</span></span><br><span class="line"></span><br><span class="line">​t.CLASSID,</span><br><span class="line"></span><br><span class="line">​ach.CHINESE </span><br><span class="line"></span><br><span class="line">​<span class="keyword">HAVING</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">COUNT</span>( * ) &lt;= <span class="number">3</span> </span><br><span class="line"></span><br><span class="line">​) </span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span></span><br><span class="line"></span><br><span class="line">t.CLASSID,</span><br><span class="line"></span><br><span class="line"><span class="keyword">IFNULL</span>( ach.CHINESE, <span class="number">0</span> ) <span class="keyword">DESC</span>;</span><br></pre></td></tr></table></figure><h4 id="–同理"><a href="#–同理" class="headerlink" title="–同理"></a>–同理</h4><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SET</span> @rown := <span class="number">0</span>,</span><br><span class="line"></span><br><span class="line"> @classid = <span class="string">''</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line">​*</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span></span><br><span class="line"></span><br><span class="line">​(</span><br><span class="line"></span><br><span class="line">​<span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line">​@rown := <span class="keyword">CASE</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">WHEN</span> @classid = aa.CLASS_ID <span class="keyword">THEN</span></span><br><span class="line"></span><br><span class="line">​@rown + <span class="number">1</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">ELSE</span></span><br><span class="line"></span><br><span class="line">​<span class="number">1</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">END</span> <span class="keyword">AS</span> <span class="keyword">num</span>,</span><br><span class="line"></span><br><span class="line">​@classid := aa.CLASS_ID <span class="keyword">AS</span> CLASS_ID11,</span><br><span class="line"></span><br><span class="line">​aa.STUDENT_ID,</span><br><span class="line"></span><br><span class="line">​aa.CHINESE,</span><br><span class="line"></span><br><span class="line">​aa.CLASS_ID</span><br><span class="line"></span><br><span class="line">​<span class="keyword">FROM</span></span><br><span class="line"></span><br><span class="line">​(</span><br><span class="line"></span><br><span class="line">​<span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line">​t.STUDENT_ID,</span><br><span class="line"></span><br><span class="line">​a.CHINESE,</span><br><span class="line"></span><br><span class="line">​c.CLASS_ID</span><br><span class="line"></span><br><span class="line">​<span class="keyword">FROM</span></span><br><span class="line"></span><br><span class="line">​t_student t</span><br><span class="line"></span><br><span class="line">​<span class="keyword">INNER</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">ON</span> t.STUDENT_ID = a.STUDENT_ID</span><br><span class="line"></span><br><span class="line">​<span class="keyword">INNER</span> <span class="keyword">JOIN</span> t_class c <span class="keyword">ON</span> t.CLASSID = c.CLASS_ID</span><br><span class="line"></span><br><span class="line">​<span class="keyword">AND</span> c.STUDENT_ID = t.STUDENT_ID</span><br><span class="line"></span><br><span class="line">​<span class="keyword">ORDER</span> <span class="keyword">BY</span></span><br><span class="line"></span><br><span class="line">​c.CLASS_ID,</span><br><span class="line"></span><br><span class="line">​a.CHINESE <span class="keyword">DESC</span></span><br><span class="line"></span><br><span class="line">​) aa</span><br><span class="line"></span><br><span class="line">​) bb</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span></span><br><span class="line"></span><br><span class="line">​bb.num &lt; <span class="number">4</span></span><br></pre></td></tr></table></figure><h3 id="–判断如果是11位手机号则输出-座机号位8位的前面加’’0411-‘，不足8位补全加“0411-”"><a href="#–判断如果是11位手机号则输出-座机号位8位的前面加’’0411-‘，不足8位补全加“0411-”" class="headerlink" title="–判断如果是11位手机号则输出,座机号位8位的前面加’’0411-‘，不足8位补全加“0411-”"></a>–判断如果是11位手机号则输出,座机号位8位的前面加’’0411-‘，不足8位补全加“0411-”</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> s.STUDENT_ID,s.STUDENT_NM,</span><br><span class="line"></span><br><span class="line"><span class="keyword">CASE</span> </span><br><span class="line"></span><br><span class="line">​<span class="keyword">WHEN</span> <span class="keyword">LENGTH</span>(MOBILE_PHONE) = <span class="number">11</span> <span class="keyword">THEN</span> <span class="comment">-- 搜索字节长度为11的字段</span></span><br><span class="line"></span><br><span class="line">​MOBILE_PHONE</span><br><span class="line"></span><br><span class="line">​<span class="keyword">WHEN</span> <span class="keyword">MID</span>(s.FIXED_TELEPHONE,<span class="number">1</span>,<span class="number">4</span>) = <span class="string">'0411'</span><span class="keyword">THEN</span></span><br><span class="line"></span><br><span class="line">​s.FIXED_TELEPHONE</span><br><span class="line"></span><br><span class="line">​<span class="keyword">ELSE</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">CONCAT</span>(<span class="string">'0411'</span>,<span class="string">'-'</span>,<span class="keyword">LPAD</span>(s.FIXED_TELEPHONE,<span class="number">8</span>,<span class="string">'0'</span>)) <span class="comment">-- 补齐位数</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">END</span>  <span class="keyword">AS</span> PHONE</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s’</span><br></pre></td></tr></table></figure><h3 id="–查询当前3时间，增加两天，两月，减少两天，和时间段的间隔"><a href="#–查询当前3时间，增加两天，两月，减少两天，和时间段的间隔" class="headerlink" title="–查询当前3时间，增加两天，两月，减少两天，和时间段的间隔"></a>–查询当前3时间，增加两天，两月，减少两天，和时间段的间隔</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> <span class="keyword">DATE_FORMAT</span>(<span class="keyword">NOW</span>(),<span class="string">'%Y/%m/%d%T'</span>) <span class="keyword">AS</span> 当前时间,</span><br><span class="line"></span><br><span class="line"><span class="keyword">DATE_ADD</span>(<span class="keyword">NOW</span>(),<span class="built_in">INTERVAL</span> <span class="number">2</span> <span class="keyword">DAY</span>) <span class="keyword">AS</span> 增加两天,</span><br><span class="line"></span><br><span class="line"><span class="keyword">DATE_ADD</span>(<span class="keyword">NOW</span>(),<span class="built_in">INTERVAL</span> <span class="number">2</span> <span class="keyword">MONTH</span>) <span class="keyword">AS</span> 增加两月,</span><br><span class="line"></span><br><span class="line"><span class="keyword">DATE_SUB</span>(<span class="keyword">NOW</span>(),<span class="built_in">INTERVAL</span> <span class="number">2</span> <span class="keyword">DAY</span>) <span class="keyword">AS</span> 减少两天,</span><br><span class="line"></span><br><span class="line"><span class="keyword">DATEDIFF</span>(<span class="keyword">DATE_ADD</span>(<span class="keyword">NOW</span>(),<span class="built_in">INTERVAL</span> <span class="number">2</span> <span class="keyword">DAY</span>),<span class="keyword">DATE_SUB</span>(<span class="keyword">NOW</span>(),<span class="built_in">INTERVAL</span> <span class="number">2</span> <span class="keyword">DAY</span>)) <span class="keyword">AS</span> 间隔时间</span><br></pre></td></tr></table></figure><h3 id="–取出班主任老师所属学生的英语成绩"><a href="#–取出班主任老师所属学生的英语成绩" class="headerlink" title="–取出班主任老师所属学生的英语成绩"></a>–取出班主任老师所属学生的英语成绩</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span> t.TEACHER_NM,s.STUDENT_NM,a.ENGLISH</span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">ON</span> a.STUDENT_ID = s.STUDENT_ID </span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_class c <span class="keyword">ON</span> s.STUDENT_ID = c.STUDENT_ID <span class="keyword">AND</span> S.CLASSID = C.CLASS_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_teacher t <span class="keyword">ON</span> t.TEACHER_ID = c.HEAD_MASTER</span><br></pre></td></tr></table></figure><h3 id="–横向转纵向查询男女和职称（max是把那一列最大的排在前面，例如一个数列里面有1-和空格，那样就取1）"><a href="#–横向转纵向查询男女和职称（max是把那一列最大的排在前面，例如一个数列里面有1-和空格，那样就取1）" class="headerlink" title="–横向转纵向查询男女和职称（max是把那一列最大的排在前面，例如一个数列里面有1 和空格，那样就取1）"></a>–横向转纵向查询男女和职称（max是把那一列最大的排在前面，例如一个数列里面有1 和空格，那样就取1）</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line">​m.TYPE_CD,</span><br><span class="line"></span><br><span class="line">​<span class="keyword">MAX</span>( <span class="keyword">CASE</span> <span class="keyword">WHEN</span> m.CD = <span class="string">'1'</span> <span class="keyword">THEN</span> m.CD <span class="keyword">ELSE</span> <span class="string">''</span> <span class="keyword">END</span> ),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">MAX</span>( <span class="keyword">CASE</span> <span class="keyword">WHEN</span> m.CD = <span class="string">'1'</span> <span class="keyword">THEN</span> m.NM <span class="keyword">ELSE</span> <span class="string">''</span> <span class="keyword">END</span> ),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">MAX</span>( <span class="keyword">CASE</span> <span class="keyword">WHEN</span> m.CD = <span class="string">'2'</span> <span class="keyword">THEN</span> m.CD <span class="keyword">ELSE</span> <span class="string">''</span> <span class="keyword">END</span> ),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">MAX</span>( <span class="keyword">CASE</span> <span class="keyword">WHEN</span> m.CD = <span class="string">'2'</span> <span class="keyword">THEN</span> m.NM <span class="keyword">ELSE</span> <span class="string">''</span> <span class="keyword">END</span> ),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">MAX</span>( <span class="keyword">CASE</span> <span class="keyword">WHEN</span> m.CD = <span class="string">'3'</span> <span class="keyword">THEN</span> m.CD <span class="keyword">ELSE</span> <span class="string">''</span> <span class="keyword">END</span> ),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">MAX</span>( <span class="keyword">CASE</span> <span class="keyword">WHEN</span> m.CD = <span class="string">'3'</span> <span class="keyword">THEN</span> m.NM <span class="keyword">ELSE</span> <span class="string">''</span> <span class="keyword">END</span> ) </span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span></span><br><span class="line"></span><br><span class="line">​t_mast m </span><br><span class="line"></span><br><span class="line"><span class="keyword">GROUP</span> <span class="keyword">BY</span></span><br><span class="line"></span><br><span class="line">​m.TYPE_CD</span><br></pre></td></tr></table></figure><h3 id="–给每个同学的数学成绩-5-超过100的显示100"><a href="#–给每个同学的数学成绩-5-超过100的显示100" class="headerlink" title="–给每个同学的数学成绩+5 超过100的显示100"></a>–给每个同学的数学成绩+5 超过100的显示100</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line">​s.STUDENT_NM,</span><br><span class="line"></span><br><span class="line">​<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">CASE</span> </span><br><span class="line"></span><br><span class="line">​<span class="keyword">WHEN</span> <span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>) &lt; <span class="number">95</span> <span class="keyword">THEN</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">IFNULL</span>(a.MATHEMATICS,<span class="number">0</span>) + <span class="number">5</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">ELSE</span></span><br><span class="line"></span><br><span class="line">​<span class="string">'100'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">END</span> </span><br><span class="line"></span><br><span class="line"> </span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span></span><br><span class="line"></span><br><span class="line">​t_student s</span><br><span class="line"></span><br><span class="line">​<span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">ON</span> a.STUDENT_ID = s.STUDENT_ID</span><br><span class="line"></span><br><span class="line">​<span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_class c <span class="keyword">ON</span> s.STUDENT_ID = c.STUDENT_ID </span><br><span class="line"></span><br><span class="line">​<span class="keyword">AND</span> S.CLASSID = C.CLASS_ID</span><br></pre></td></tr></table></figure><h3 id="–查询学生的性别以及班主任和班主任的教学等级"><a href="#–查询学生的性别以及班主任和班主任的教学等级" class="headerlink" title="–查询学生的性别以及班主任和班主任的教学等级"></a>–查询学生的性别以及班主任和班主任的教学等级</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line">​s.STUDENT_ID,</span><br><span class="line"></span><br><span class="line">​s.STUDENT_NM,</span><br><span class="line"></span><br><span class="line">​( <span class="keyword">SELECT</span> NM <span class="keyword">FROM</span> t_mast m <span class="keyword">WHERE</span> s.SEX = m.CD <span class="keyword">AND</span> m.TYPE_CD = <span class="string">'01'</span> ),</span><br><span class="line"></span><br><span class="line">​(</span><br><span class="line"></span><br><span class="line"><span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line">​t.TEACHER_NM </span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span></span><br><span class="line"></span><br><span class="line">​t_teacher t,</span><br><span class="line"></span><br><span class="line">​t_class c</span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span></span><br><span class="line"></span><br><span class="line">​t.TEACHER_ID = c.HEAD_MASTER </span><br><span class="line"></span><br><span class="line">​<span class="keyword">AND</span> s.STUDENT_ID = c.STUDENT_ID </span><br><span class="line"></span><br><span class="line">​<span class="keyword">AND</span> S.CLASSID = C.CLASS_ID</span><br><span class="line"></span><br><span class="line">​),</span><br><span class="line"></span><br><span class="line">​(</span><br><span class="line"></span><br><span class="line"><span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line">​NM </span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span></span><br><span class="line"></span><br><span class="line">​t_teacher t,</span><br><span class="line"></span><br><span class="line">​t_class c,</span><br><span class="line"></span><br><span class="line">​t_mast m1 </span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span></span><br><span class="line"></span><br><span class="line">​t.TEACHER_ID = c.HEAD_MASTER </span><br><span class="line"></span><br><span class="line">​<span class="keyword">AND</span> s.STUDENT_ID = c.STUDENT_ID </span><br><span class="line"></span><br><span class="line">​<span class="keyword">AND</span> S.CLASSID = C.CLASS_ID </span><br><span class="line"></span><br><span class="line">​<span class="keyword">AND</span> s.SEX = m1.CD </span><br><span class="line"></span><br><span class="line">​<span class="keyword">AND</span> m1.TYPE_CD = <span class="string">'02'</span> </span><br><span class="line"></span><br><span class="line">​) </span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span></span><br><span class="line"></span><br><span class="line">​t_student S</span><br></pre></td></tr></table></figure><h2 id="Oracle"><a href="#Oracle" class="headerlink" title="Oracle"></a>Oracle</h2><h3 id="–查询每个班的前三名"><a href="#–查询每个班的前三名" class="headerlink" title="–查询每个班的前三名"></a><strong>–</strong>查询每个班的前三名</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line">​* </span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span></span><br><span class="line"></span><br><span class="line">​(</span><br><span class="line"></span><br><span class="line"><span class="keyword">SELECT</span></span><br><span class="line"></span><br><span class="line">​s.student_id,</span><br><span class="line"></span><br><span class="line">​s.student_nm,</span><br><span class="line"></span><br><span class="line">​s.classid,</span><br><span class="line"></span><br><span class="line">​c.class_nm,</span><br><span class="line"></span><br><span class="line">​<span class="keyword">SUM</span>( NVL ( a.achievement, <span class="number">0</span> ) ),</span><br><span class="line"></span><br><span class="line">​( Row_number ( ) <span class="keyword">OVER</span> ( <span class="keyword">PARTITION</span> <span class="keyword">BY</span> s.classid </span><br><span class="line"></span><br><span class="line">​<span class="keyword">ORDER</span> <span class="keyword">BY</span> <span class="keyword">SUM</span>( NVL ( a.achievement, <span class="number">0</span> ) ) <span class="keyword">DESC</span> ) ) rn </span><br><span class="line"></span><br><span class="line"><span class="keyword">FROM</span></span><br><span class="line"></span><br><span class="line">​t_student s</span><br><span class="line"></span><br><span class="line">​<span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_achievement a <span class="keyword">ON</span> a.student_id = s.student_id</span><br><span class="line"></span><br><span class="line">​<span class="keyword">LEFT</span> <span class="keyword">JOIN</span> t_class c <span class="keyword">ON</span> s.classid = c.class_id </span><br><span class="line"></span><br><span class="line">​<span class="keyword">AND</span> s.student_id = c.student_id </span><br><span class="line"></span><br><span class="line"><span class="keyword">GROUP</span> <span class="keyword">BY</span></span><br><span class="line"></span><br><span class="line">​s.student_id,</span><br><span class="line"></span><br><span class="line">​s.student_nm,</span><br><span class="line"></span><br><span class="line">​s.classid,</span><br><span class="line"></span><br><span class="line">​c.class_nm </span><br><span class="line"></span><br><span class="line"><span class="keyword">ORDER</span> <span class="keyword">BY</span></span><br><span class="line"></span><br><span class="line">​s.classid </span><br><span class="line"></span><br><span class="line">​) </span><br><span class="line"></span><br><span class="line"><span class="keyword">WHERE</span></span><br><span class="line"></span><br><span class="line">​rn &lt; <span class="number">4</span></span><br></pre></td></tr></table></figure><h3 id="–查询学号-姓名-总成绩"><a href="#–查询学号-姓名-总成绩" class="headerlink" title="–查询学号,姓名,总成绩"></a>–查询学号,姓名,总成绩</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">select</span> s.STUDENT_ID,s.STUDENT_NM,<span class="keyword">sum</span>(a.ACHIEVEMENT)</span><br><span class="line"></span><br><span class="line"><span class="keyword">from</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">left</span> <span class="keyword">join</span> t_achievement a <span class="keyword">on</span> s.STUDENT_ID = a.STUDENT_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">group</span> <span class="keyword">by</span> s.STUDENT_ID,s.STUDENT_NM</span><br><span class="line"></span><br><span class="line"><span class="keyword">order</span> <span class="keyword">by</span> s.STUDENT_ID</span><br></pre></td></tr></table></figure><h3 id="–查询各个科目的成绩"><a href="#–查询各个科目的成绩" class="headerlink" title="–查询各个科目的成绩"></a>–查询各个科目的成绩</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">select</span> </span><br><span class="line"></span><br><span class="line">​s.STUDENT_ID,s.STUDENT_NM,</span><br><span class="line"></span><br><span class="line">​(<span class="keyword">select</span> m.NM <span class="keyword">from</span> t_mast m <span class="keyword">where</span> m.TYPE_CD = <span class="number">3</span> <span class="keyword">and</span> m.CD = <span class="number">1</span>),</span><br><span class="line"></span><br><span class="line">​<span class="comment">--max(case when a.COURSE = 1 then m.NM END),</span></span><br><span class="line"></span><br><span class="line">​<span class="keyword">max</span>(<span class="keyword">case</span> <span class="keyword">when</span> a.COURSE = <span class="string">'1'</span> <span class="keyword">then</span> a.ACHIEVEMENT <span class="keyword">ELSE</span> <span class="number">0</span> <span class="keyword">END</span>),</span><br><span class="line"></span><br><span class="line">​(<span class="keyword">select</span> m.NM <span class="keyword">from</span> t_mast m <span class="keyword">where</span> m.TYPE_CD = <span class="number">3</span> <span class="keyword">and</span> m.CD = <span class="number">2</span>),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">max</span>(<span class="keyword">case</span> <span class="keyword">when</span> a.COURSE = <span class="string">'2'</span> <span class="keyword">then</span> a.ACHIEVEMENT <span class="keyword">ELSE</span> <span class="number">0</span> <span class="keyword">END</span>),</span><br><span class="line"></span><br><span class="line">​(<span class="keyword">select</span> m.NM <span class="keyword">from</span> t_mast m <span class="keyword">where</span> m.TYPE_CD = <span class="number">3</span> <span class="keyword">and</span> m.CD = <span class="number">3</span>),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">max</span>(<span class="keyword">case</span> <span class="keyword">when</span> a.COURSE = <span class="string">'3'</span> <span class="keyword">then</span> a.ACHIEVEMENT <span class="keyword">ELSE</span> <span class="number">0</span> <span class="keyword">END</span>)</span><br><span class="line"></span><br><span class="line"><span class="keyword">from</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">left</span> <span class="keyword">join</span> t_achievement a <span class="keyword">on</span> s.STUDENT_ID = a.STUDENT_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">left</span> <span class="keyword">join</span> t_mast m <span class="keyword">on</span> m.CD = a.COURSE <span class="keyword">and</span> m.TYPE_CD = <span class="string">'03'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">group</span> <span class="keyword">by</span> s.STUDENT_id,s.STUDENT_NM</span><br><span class="line"></span><br><span class="line"><span class="keyword">order</span> <span class="keyword">by</span> s.STUDENT_id</span><br></pre></td></tr></table></figure><h3 id="–同上的子查询方法"><a href="#–同上的子查询方法" class="headerlink" title="–同上的子查询方法"></a>–同上的子查询方法</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">select</span> </span><br><span class="line"></span><br><span class="line">​s.STUDENT_ID,</span><br><span class="line"></span><br><span class="line">​s.STUDENT_NM,</span><br><span class="line"></span><br><span class="line">​<span class="keyword">max</span>((<span class="keyword">select</span> m.NM <span class="keyword">from</span> t_mast m <span class="keyword">where</span> m.TYPE_CD = <span class="number">3</span> <span class="keyword">and</span> m.CD = <span class="number">1</span>)),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">max</span>((<span class="keyword">select</span> a.ACHIEVEMENT <span class="keyword">from</span> t_mast m <span class="keyword">where</span> m.CD = a.COURSE <span class="keyword">and</span> s.STUDENT_ID = a.STUDENT_ID <span class="keyword">AND</span> m.TYPE_CD = <span class="string">'03'</span> <span class="keyword">and</span> m.CD = <span class="string">'1'</span>)),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">max</span>((<span class="keyword">select</span> m.NM <span class="keyword">from</span> t_mast m <span class="keyword">where</span> m.TYPE_CD = <span class="number">3</span> <span class="keyword">and</span> m.CD = <span class="number">2</span>)),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">max</span>((<span class="keyword">select</span> a.ACHIEVEMENT <span class="keyword">from</span> t_mast m <span class="keyword">where</span> m.CD = a.COURSE <span class="keyword">and</span> s.STUDENT_ID = a.STUDENT_ID <span class="keyword">AND</span> m.TYPE_CD = <span class="string">'03'</span> <span class="keyword">and</span> m.CD = <span class="string">'2'</span>)),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">max</span>((<span class="keyword">select</span> m.NM <span class="keyword">from</span> t_mast m <span class="keyword">where</span> m.TYPE_CD = <span class="number">3</span> <span class="keyword">and</span> m.CD = <span class="number">3</span>)),</span><br><span class="line"></span><br><span class="line">​<span class="keyword">max</span>((<span class="keyword">select</span> a.ACHIEVEMENT <span class="keyword">from</span> t_mast m <span class="keyword">where</span> m.CD = a.COURSE <span class="keyword">and</span> s.STUDENT_ID = a.STUDENT_ID <span class="keyword">AND</span> m.TYPE_CD = <span class="string">'03'</span> <span class="keyword">and</span> m.CD = <span class="string">'3'</span>))</span><br><span class="line"></span><br><span class="line"><span class="keyword">from</span> t_student s</span><br><span class="line"></span><br><span class="line"><span class="keyword">left</span> <span class="keyword">join</span> t_achievement a <span class="keyword">on</span> s.STUDENT_ID = a.STUDENT_ID</span><br><span class="line"></span><br><span class="line"><span class="keyword">left</span> <span class="keyword">join</span> t_mast m <span class="keyword">on</span> m.CD = a.COURSE <span class="keyword">and</span> m.TYPE_CD = <span class="string">'03'</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">group</span> <span class="keyword">by</span> s.STUDENT_id,s.STUDENT_NM</span><br><span class="line"></span><br><span class="line"><span class="keyword">order</span> <span class="keyword">by</span> s.STUDENT_id</span><br></pre></td></tr></table></figure><h3 id="–Oracle查询时间大全"><a href="#–Oracle查询时间大全" class="headerlink" title="–Oracle查询时间大全"></a>–Oracle查询时间大全</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">select</span> to_char(<span class="keyword">sysdate</span>, <span class="string">'yyyy'</span>) <span class="keyword">as</span> 年,</span><br><span class="line"></span><br><span class="line">​       to_char(<span class="keyword">sysdate</span>, <span class="string">'q'</span>) <span class="keyword">as</span> 季度,</span><br><span class="line"></span><br><span class="line">​       to_char(<span class="keyword">sysdate</span>, <span class="string">'MM'</span>) <span class="keyword">as</span> 月,</span><br><span class="line"></span><br><span class="line">​       to_char(<span class="keyword">sysdate</span>, <span class="string">'dd'</span>) <span class="keyword">as</span> 天,</span><br><span class="line"></span><br><span class="line">​       to_char(<span class="keyword">sysdate</span>, <span class="string">'iw'</span>) <span class="keyword">as</span> 日,</span><br><span class="line"></span><br><span class="line">​ to_char(<span class="keyword">sysdate</span>,<span class="string">'yy-mm-dd hh24:mm:ss'</span>) <span class="keyword">as</span> 当前<span class="built_in">time</span>,</span><br><span class="line"></span><br><span class="line">​ trunc(<span class="keyword">sysdate</span><span class="number">-1</span>) <span class="keyword">as</span> 前一天,</span><br><span class="line"></span><br><span class="line">​ trunc(<span class="keyword">sysdate</span>,<span class="string">'d'</span>) <span class="keyword">as</span> 当前星期的第一天,</span><br><span class="line"></span><br><span class="line">​ trunc(add_months(<span class="keyword">sysdate</span>,<span class="number">-1</span>),<span class="string">'mm'</span>) <span class="keyword">as</span> 上个月第一天,</span><br><span class="line"></span><br><span class="line">​ add_months(trunc(<span class="keyword">sysdate</span>),<span class="number">-1</span>) <span class="keyword">as</span> 前一个月,</span><br><span class="line"></span><br><span class="line">​ add_months(trunc(<span class="keyword">sysdate</span>),<span class="number">1</span>) <span class="keyword">as</span> 后一个月,</span><br><span class="line"></span><br><span class="line">​ to_char(<span class="keyword">last_day</span>(<span class="keyword">sysdate</span>),<span class="string">'yy-mm-dd hh24:mm:ss'</span>) <span class="keyword">as</span> 最后一天</span><br><span class="line"></span><br><span class="line">​<span class="keyword">from</span> dual;</span><br></pre></td></tr></table></figure><h3 id="–-在输入的时候能查询-，不输入的时候输出所有"><a href="#–-在输入的时候能查询-，不输入的时候输出所有" class="headerlink" title="–  在输入的时候能查询**，不输入的时候输出所有"></a><strong>–  </strong>在输入的时候能查询**，不输入的时候输出所有</h3><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">select</span> *</span><br><span class="line"></span><br><span class="line">  <span class="keyword">from</span> t_student s</span><br><span class="line"></span><br><span class="line"> <span class="keyword">where</span> s.student_id =  <span class="keyword">case</span> <span class="keyword">when</span> &amp;<span class="keyword">sid</span> <span class="keyword">is</span> <span class="literal">null</span> <span class="keyword">then</span></span><br><span class="line"></span><br><span class="line">​    s.student_id</span><br><span class="line"></span><br><span class="line">   <span class="keyword">else</span></span><br><span class="line"></span><br><span class="line">​    &amp;<span class="keyword">sid</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">end</span></span><br></pre></td></tr></table></figure><h4 id="–-同上-4"><a href="#–-同上-4" class="headerlink" title="–  同上"></a><strong>–</strong>  同上</h4><figure class="highlight sql"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">select</span> *</span><br><span class="line"></span><br><span class="line">  <span class="keyword">from</span> t_student s</span><br><span class="line"></span><br><span class="line"> <span class="keyword">where</span> s.student_id = <span class="keyword">decode</span>(&amp;<span class="keyword">sid</span>, <span class="literal">null</span>, s.student_id, &amp;<span class="keyword">sid</span>)</span><br></pre></td></tr></table></figure><p>当LEFT JOIN中的条件中存在WHERE的时候，外连接会默认变成内连接</p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h1 id=&quot;数据库&quot;&gt;&lt;a href=&quot;#数据库&quot; class=&quot;headerlink&quot; title=&quot;数据库&quot;&gt;&lt;/a&gt;数据库&lt;/h1&gt;&lt;h2 id=&quot;MySQL&quot;&gt;&lt;a href=&quot;#MySQL&quot; class=&quot;headerlink&quot; title=&quot;MySQL&quot;&gt;&lt;/a&gt;
      
    
    </summary>
    
      <category term="数据库" scheme="https://blog.orghub.cn/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
    
    
      <category term="SQL文" scheme="https://blog.orghub.cn/tags/SQL%E6%96%87/"/>
    
  </entry>
  
  <entry>
    <title>错误:could not resolve property: UserName of:的解决办法</title>
    <link href="https://blog.orghub.cn/2019/10/08/%E9%94%99%E8%AF%AF-could-not-resolve-property-UserName-of-%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/"/>
    <id>https://blog.orghub.cn/2019/10/08/错误-could-not-resolve-property-UserName-of-的解决办法/</id>
    <published>2019-10-08T01:33:51.000Z</published>
    <updated>2019-10-08T01:37:14.503Z</updated>
    
    <content type="html"><![CDATA[<h2 id="错误-could-not-resolve-property-UserName-of-的解决办法"><a href="#错误-could-not-resolve-property-UserName-of-的解决办法" class="headerlink" title="错误:could not resolve property: UserName of:的解决办法"></a>错误:could not resolve property: UserName of:的解决办法</h2><p><img src="/2019/10/08/错误-could-not-resolve-property-UserName-of-的解决办法/1.png" alt="1"></p><p><img src="/2019/10/08/错误-could-not-resolve-property-UserName-of-的解决办法/2.png" alt="2"></p><p>检查Hibernate的映射文件字段是否匹配，在自动生成映射文件的时候，大写开头的字段会自动变成小写。导致查询的字段无效。</p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h2 id=&quot;错误-could-not-resolve-property-UserName-of-的解决办法&quot;&gt;&lt;a href=&quot;#错误-could-not-resolve-property-UserName-of-的解决办法&quot; class=&quot;headerlink&quot; title
      
    
    </summary>
    
      <category term="错误详解" scheme="https://blog.orghub.cn/categories/%E9%94%99%E8%AF%AF%E8%AF%A6%E8%A7%A3/"/>
    
    
      <category term="BUG" scheme="https://blog.orghub.cn/tags/BUG/"/>
    
  </entry>
  
  <entry>
    <title>错误:Could not retrieve transation read only status server详解</title>
    <link href="https://blog.orghub.cn/2019/09/23/%E9%94%99%E8%AF%AF-Could-not-retrieve-transation-read-only-status-server%E8%AF%A6%E8%A7%A3/"/>
    <id>https://blog.orghub.cn/2019/09/23/错误-Could-not-retrieve-transation-read-only-status-server详解/</id>
    <published>2019-09-23T08:39:51.000Z</published>
    <updated>2019-09-23T08:45:21.350Z</updated>
    
    <content type="html"><![CDATA[<h2 id="错误-Could-not-retrieve-transation-read-only-status-server详解"><a href="#错误-Could-not-retrieve-transation-read-only-status-server详解" class="headerlink" title="错误:Could not retrieve transation read-only status server详解"></a>错误:Could not retrieve transation read-only status server详解</h2><p>错误分析：</p><blockquote><p>检查数据库的驱动文件是否匹配</p><p>检查lib包文件中是否有当前数据库中的驱动jar包</p></blockquote><p><img src="/2019/09/23/错误-Could-not-retrieve-transation-read-only-status-server详解/1.png" alt="1"></p><p><img src="/2019/09/23/错误-Could-not-retrieve-transation-read-only-status-server详解/2.png" alt="2"></p><p><img src="/2019/09/23/错误-Could-not-retrieve-transation-read-only-status-server详解/3.png" alt="3"></p><p><img src="/2019/09/23/错误-Could-not-retrieve-transation-read-only-status-server详解/4.png" alt="4"></p><p><img src="/2019/09/23/错误-Could-not-retrieve-transation-read-only-status-server详解/5.png" alt="5"></p><p><img src="/2019/09/23/错误-Could-not-retrieve-transation-read-only-status-server详解/6.png" alt="6"></p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h2 id=&quot;错误-Could-not-retrieve-transation-read-only-status-server详解&quot;&gt;&lt;a href=&quot;#错误-Could-not-retrieve-transation-read-only-status-server详解&quot; cl
      
    
    </summary>
    
      <category term="错误详解" scheme="https://blog.orghub.cn/categories/%E9%94%99%E8%AF%AF%E8%AF%A6%E8%A7%A3/"/>
    
    
      <category term="BUG" scheme="https://blog.orghub.cn/tags/BUG/"/>
    
  </entry>
  
  <entry>
    <title>错误:ids for this class must be manually assigned beforeQuery calling save(): com.hp.bean.UserBean详解</title>
    <link href="https://blog.orghub.cn/2019/09/01/%E9%94%99%E8%AF%AF-ids-for-this-class-must-be-manually-assigned-beforeQuery-calling-save-com-hp-bean-UserBean%E8%AF%A6%E8%A7%A3/"/>
    <id>https://blog.orghub.cn/2019/09/01/错误-ids-for-this-class-must-be-manually-assigned-beforeQuery-calling-save-com-hp-bean-UserBean详解/</id>
    <published>2019-09-01T11:48:41.000Z</published>
    <updated>2019-09-01T11:57:32.406Z</updated>
    
    <content type="html"><![CDATA[<h2 id="错误-ids-for-this-class-must-be-manually-assigned-beforeQuery-calling-save-com-hp-bean-UserBean详解"><a href="#错误-ids-for-this-class-must-be-manually-assigned-beforeQuery-calling-save-com-hp-bean-UserBean详解" class="headerlink" title="错误:ids for this class must be manually assigned beforeQuery calling save():com.hp.bean.UserBean详解"></a>错误:ids for this class must be manually assigned beforeQuery calling save():com.hp.bean.UserBean详解</h2><p>这个错误主要是 此类的id值为空（没有set该值 或 手工生成的值为null）spring映射文件没有设置为自动增长</p><p><img src="/2019/09/01/错误-ids-for-this-class-must-be-manually-assigned-beforeQuery-calling-save-com-hp-bean-UserBean详解/1.jpeg" alt="1"></p><p><img src="/2019/09/01/错误-ids-for-this-class-must-be-manually-assigned-beforeQuery-calling-save-com-hp-bean-UserBean详解/2.jpg" alt="2"></p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h2 id=&quot;错误-ids-for-this-class-must-be-manually-assigned-beforeQuery-calling-save-com-hp-bean-UserBean详解&quot;&gt;&lt;a href=&quot;#错误-ids-for-this-class-mus
      
    
    </summary>
    
      <category term="错误详解" scheme="https://blog.orghub.cn/categories/%E9%94%99%E8%AF%AF%E8%AF%A6%E8%A7%A3/"/>
    
    
      <category term="BUG" scheme="https://blog.orghub.cn/tags/BUG/"/>
    
  </entry>
  
  <entry>
    <title>【TheMrxk】Win10_PRO专业版_x64_适度精简家用工作版v2.0</title>
    <link href="https://blog.orghub.cn/2019/09/01/Win10PRO%E4%B8%93%E4%B8%9A%E7%89%88v2-0/"/>
    <id>https://blog.orghub.cn/2019/09/01/Win10PRO专业版v2-0/</id>
    <published>2019-09-01T09:45:32.000Z</published>
    <updated>2019-09-01T10:29:26.451Z</updated>
    
    <content type="html"><![CDATA[<h1 id="【TheMrxk】Win10-PRO专业版x64适度精简家用工作版v2-0"><a href="#【TheMrxk】Win10-PRO专业版x64适度精简家用工作版v2-0" class="headerlink" title="【TheMrxk】Win10_PRO专业版x64适度精简家用工作版v2.0"></a>【TheMrxk】Win10_PRO专业版<em>x64</em>适度精简家用工作版v2.0</h1><h3 id="【系统简介】"><a href="#【系统简介】" class="headerlink" title="【系统简介】"></a>【系统简介】</h3><blockquote><h4 id="没有什么需要介绍的，牛逼，很强，用就完了，小T出品必是精品！"><a href="#没有什么需要介绍的，牛逼，很强，用就完了，小T出品必是精品！" class="headerlink" title="没有什么需要介绍的，牛逼，很强，用就完了，小T出品必是精品！"></a>没有什么需要介绍的，牛逼，很强，用就完了，小T出品必是精品！</h4></blockquote><h3 id="【系统说明】"><a href="#【系统说明】" class="headerlink" title="【系统说明】"></a>【系统说明】</h3><blockquote><h4 id="【v2-0系统说明】"><a href="#【v2-0系统说明】" class="headerlink" title="【v2.0系统说明】"></a>【v2.0系统说明】</h4><p>2019年8月24日更新：修复部分错误导致桌面重复图标</p><h4 id="【v1-0系统说明】"><a href="#【v1-0系统说明】" class="headerlink" title="【v1.0系统说明】"></a>【v1.0系统说明】</h4><p>2019年8月21日更新：基于Windows 10 OS 17763.652 -1809制作优化，精简大量微软自带软件，还原一个纯净的系统，打入补丁和.Net3.5组件，集成个人优化方案。体积缩小80%释放后为9G左右。</p></blockquote><h3 id="【系统特点】"><a href="#【系统特点】" class="headerlink" title="【系统特点】"></a>【系统特点】</h3><blockquote><h4 id="综合了一下朋友们的意见，在几个地方做了一些改动。"><a href="#综合了一下朋友们的意见，在几个地方做了一些改动。" class="headerlink" title="综合了一下朋友们的意见，在几个地方做了一些改动。"></a>综合了一下朋友们的意见，在几个地方做了一些改动。</h4><p>1.开始菜单样式仿win7,（可更改回原来的样子）。<br>2.取消精简版搜狗输入法（可在群内下载）。<br>3.更新Microsoft Visual C++ 2015-2019 (14.22.27807)<br>4.更新Adobe Flash Player AX/NP/PP 32.0.0.223<br>5.补丁更新至7月最新</p></blockquote><h3 id="【如何安装】"><a href="#【如何安装】" class="headerlink" title="【如何安装】"></a>【如何安装】</h3><blockquote><h4 id="本版本为无人值守版本-，在PE环境下使用Dism-释放自己需要的版本，系统没有篡改锁定主页和添加垃圾软件的行为，请不要使用大X菜，老X桃，深度PE等含有广告性质的PE安装本系统！"><a href="#本版本为无人值守版本-，在PE环境下使用Dism-释放自己需要的版本，系统没有篡改锁定主页和添加垃圾软件的行为，请不要使用大X菜，老X桃，深度PE等含有广告性质的PE安装本系统！" class="headerlink" title="本版本为无人值守版本 ，在PE环境下使用Dism++释放自己需要的版本，系统没有篡改锁定主页和添加垃圾软件的行为，请不要使用大X菜，老X桃，深度PE等含有广告性质的PE安装本系统！"></a>本版本为无人值守版本 ，在PE环境下使用Dism++释放自己需要的版本，系统没有篡改锁定主页和添加垃圾软件的行为，请不要使用大X菜，老X桃，深度PE等含有广告性质的PE安装本系统！</h4><h4 id="系统安装后，请勿使用腾讯管家-360，等软件优化系统，出现问题与本人无关！"><a href="#系统安装后，请勿使用腾讯管家-360，等软件优化系统，出现问题与本人无关！" class="headerlink" title="系统安装后，请勿使用腾讯管家 360，等软件优化系统，出现问题与本人无关！"></a>系统安装后，请勿使用腾讯管家 360，等软件优化系统，出现问题与本人无关！</h4></blockquote><h3 id="【免责声明】"><a href="#【免责声明】" class="headerlink" title="【免责声明】"></a>【免责声明】</h3><blockquote><h4 id="本系统及软件来源于互联网，版权属各自产权人所有，仅用于临时测试PC硬件之用，不得用于商业用途，我不承担任何技术及版权问题，且不对任何资源负法律责任。所有资源请在下载后72小时内删除。制作安装镜像"><a href="#本系统及软件来源于互联网，版权属各自产权人所有，仅用于临时测试PC硬件之用，不得用于商业用途，我不承担任何技术及版权问题，且不对任何资源负法律责任。所有资源请在下载后72小时内删除。制作安装镜像" class="headerlink" title="本系统及软件来源于互联网，版权属各自产权人所有，仅用于临时测试PC硬件之用，不得用于商业用途，我不承担任何技术及版权问题，且不对任何资源负法律责任。所有资源请在下载后72小时内删除。制作安装镜像"></a>本系统及软件来源于互联网，版权属各自产权人所有，仅用于临时测试PC硬件之用，不得用于商业用途，我不承担任何技术及版权问题，且不对任何资源负法律责任。所有资源请在下载后72小时内删除。制作安装镜像</h4></blockquote><h3 id="【系统截图】"><a href="#【系统截图】" class="headerlink" title="【系统截图】"></a>【系统截图】</h3><blockquote><p><img src="/2019/09/01/Win10PRO专业版v2-0/1.png" alt="1"></p><p><img src="/2019/09/01/Win10PRO专业版v2-0/2.png" alt="2"></p><p><img src="/2019/09/01/Win10PRO专业版v2-0/3.png" alt="3"></p></blockquote><h3 id="【系统下载】"><a href="#【系统下载】" class="headerlink" title="【系统下载】"></a>【系统下载】</h3><blockquote><h4 id="【TheMrxk】Win10-PRO专业版x64适度精简家用工作版v2-0-esd"><a href="#【TheMrxk】Win10-PRO专业版x64适度精简家用工作版v2-0-esd" class="headerlink" title="【TheMrxk】Win10_PRO专业版x64适度精简家用工作版v2.0.esd"></a>【TheMrxk】Win10_PRO专业版<em>x64</em>适度精简家用工作版v2.0.esd</h4><h4 id="百度网盘："><a href="#百度网盘：" class="headerlink" title="百度网盘："></a>百度网盘：</h4><h4 id="链接：https-pan-baidu-com-s-1c38Wv9ssXLXJAymsUGYgAg"><a href="#链接：https-pan-baidu-com-s-1c38Wv9ssXLXJAymsUGYgAg" class="headerlink" title="链接：https://pan.baidu.com/s/1c38Wv9ssXLXJAymsUGYgAg"></a>链接：<a href="https://pan.baidu.com/s/1c38Wv9ssXLXJAymsUGYgAg" target="_blank" rel="noopener">https://pan.baidu.com/s/1c38Wv9ssXLXJAymsUGYgAg</a></h4><h4 id="提取码-请扫面屏幕下方二维码公告中获取（制作不易请谅解-）"><a href="#提取码-请扫面屏幕下方二维码公告中获取（制作不易请谅解-）" class="headerlink" title="提取码:请扫面屏幕下方二维码公告中获取（制作不易请谅解~）"></a>提取码:请扫面屏幕下方二维码公告中获取（制作不易请谅解~）</h4><p><img src="/2019/09/01/Win10PRO专业版v2-0/4.png" alt="4"></p></blockquote><h3 id="【交流反馈】"><a href="#【交流反馈】" class="headerlink" title="【交流反馈】"></a>【交流反馈】</h3><blockquote><h4 id="个人博客：blog-orghub-cn"><a href="#个人博客：blog-orghub-cn" class="headerlink" title="个人博客：blog.orghub.cn"></a>个人博客：<a href="https://www.winos.me/wp-content/themes/begin/go.php?url=aHR0cHM6Ly9ibG9nLm9yZ2h1Yi5jbi8=" target="_blank" rel="noopener">blog.orghub.cn</a></h4><h4 id="QQ交流群：①群-：70230004（小号误加-秒退误加）"><a href="#QQ交流群：①群-：70230004（小号误加-秒退误加）" class="headerlink" title="QQ交流群：①群 ：70230004（小号误加,秒退误加）"></a>QQ交流群：①群 ：70230004（小号误加,秒退误加）</h4><h4 id="QQ：952339610"><a href="#QQ：952339610" class="headerlink" title="QQ：952339610"></a>QQ：952339610</h4></blockquote>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h1 id=&quot;【TheMrxk】Win10-PRO专业版x64适度精简家用工作版v2-0&quot;&gt;&lt;a href=&quot;#【TheMrxk】Win10-PRO专业版x64适度精简家用工作版v2-0&quot; class=&quot;headerlink&quot; title=&quot;【TheMrxk】Win10_PRO
      
    
    </summary>
    
      <category term="Win10优化系统" scheme="https://blog.orghub.cn/categories/Win10%E4%BC%98%E5%8C%96%E7%B3%BB%E7%BB%9F/"/>
    
    
      <category term="Win10" scheme="https://blog.orghub.cn/tags/Win10/"/>
    
      <category term="精简" scheme="https://blog.orghub.cn/tags/%E7%B2%BE%E7%AE%80/"/>
    
      <category term="优化" scheme="https://blog.orghub.cn/tags/%E4%BC%98%E5%8C%96/"/>
    
  </entry>
  
  <entry>
    <title>转载-Action层, Service层 和 Dao层的功能区分</title>
    <link href="https://blog.orghub.cn/2019/08/27/Action%E5%B1%82-Service%E5%B1%82-%E5%92%8C-Dao%E5%B1%82%E7%9A%84%E5%8A%9F%E8%83%BD%E5%8C%BA%E5%88%86/"/>
    <id>https://blog.orghub.cn/2019/08/27/Action层-Service层-和-Dao层的功能区分/</id>
    <published>2019-08-27T09:34:11.000Z</published>
    <updated>2019-08-27T09:39:32.570Z</updated>
    
    <content type="html"><![CDATA[<ol><li><p>Action/Service/DAO简介：<br>Action是管理业务（Service）调度和管理跳转的。<br>Service是管理具体的功能的。<br>Action只负责管理，而Service负责实施。<br>DAO只完成增删改查，虽然可以1-n，n-n，1-1关联，模糊、动态、子查询都可以。但是无论多么复杂的查询，dao只是封装增删改查。至于增删查改如何去实现一个功能，dao是不管的。<br>总结这三者，通过例子来解释：<br>Action像是服务员，顾客点什么菜，菜上给几号桌，都是ta的职责；<br>Service是厨师，action送来的菜单上的菜全是ta做的；<br>Dao是厨房的小工，和原材料打交道的事情全是ta管。<br>相互关系是，小工(dao)的工作是要满足厨师(service)的要求，厨师要满足服务员(action)转达的客户（页面用户）的要求，服务员自然就是为客户服务喽。<br>现在最基本的分层方式，结合了SSH架构。Model层就是对应的数据库表的实体类。Dao层是使用了Hibernate连接数据库、操作数据库（增删改查）。Service层：引用对应的Dao数据库操作。Action层：引用对应的Service层，在这里结合Struts的配置文件，跳转到指定的页面，当然也能接受页面传递的请求数据，也可以做些计算处理。<br>以上的Hibernate, Struts，都需要注入到Spring的配置文件中，Spring把这些联系起来，成为一个整体。</p></li><li><p>三大框架Struts/Hibernate/Spring<br>简单地说：<br>Struts——控制用的；<br>Hibernate——操作数据库的；<br>Spring——解耦用的。<br>详细地说：<br>Struts在SSH框架中起控制的作用，其核心是Controller，即ActionServlet，而ActionServlet的核心就是Struts-config.xml，主要控制逻辑关系的处理。<br>Hibernate是数据持久化层，是一种新的对象、关系的映射工具，提供了从Java类到数据表的映射，也提供了数据查询和恢复等机制，大大减少数据访问的复杂度。把对数据库的直接操作，转换为对持久对象的操作。<br>Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。面向接口的编程，由容器控制程序之间的依赖关系，而非传统实现中，由程序代码直接操控。这就是所谓“控制反转”的概念所在：（依赖）控制权由应用代码中转到了外部容器，控制权的转移，是所谓反转。依赖注入，即组件之间的依赖关系由容器在运行期决定，形象地说，即由容器动态地将某种依赖关系注入到组件之中，起到的主要作用是解耦。<br>Struts、Spring、Hibernate在各层的作用：<br>（1）Struts负责Web层：ActionFormBean接收网页中表单提交的数据，然后通过Action进行处理，再Forward到对应的网页。在Struts-config.xml中定义，ActionServlet会加载。<br>（2） Spring负责业务层管理，即Service（或Manager）。<br>Service为action提供统计的调用接口，封装持久层的DAO；<br>可以写一些自己的业务方法；<br>统一的Javabean管理方法；<br>声明式事务管理；<br>集成Hibernate。<br>（3）Hibernate，负责持久化层，完成对数据库的crud操作。提供OR/Mapping。它由一组.hbm.xml文件和POJO，是跟数据库中的表相对应的。然后定义DAO，这些是跟数据库打交道的类，它们会使用PO。</p></li><li><p>框架业务逻辑分析：<br>在Struts + Spring + Hibernate的系统中，<br>对象的调用流程是：JSP—Action—Service—DAO—Hibernate。<br>数据的流向是：ActionFormBean接受用户的数据，Action将数据从ActionFormBean中取出，封装成VO或PO，再调用业务层的Bean类，完成各种业务处理后再Forward。而业务层Bean收到这个PO对象之后，会调用DAO接口方法，进行持久化操作。<br>SSH框架的优点:Hibernate的最大好处就是根据数据库的表，反向生成实体<br>类，并且还有关系在里面，还有就是它对数据的操作也很方便,Spring省去了在类里面new对象的过程，把这个调用与被调用的关系直接展示到了配置文件里，<br>做任何操作都变得简单了。</p><p>简单流程举例说明:程序框架搭建好，并且把各种jar包导入后，就开始进行业务逻辑分析——假设一个最基本的注册功能：页面有两个文本框，一个用户名(username)和一个密码(password)。以QQ注册网页说明，这里以昵称和密码为代表进行 举例。<br><img src="/2019/08/27/Action层-Service层-和-Dao层的功能区分/1.png" alt="1"><br>首先是action层：它是负责在页面和程序之间传输数据的，还有作用是做页面跳转。页面由用户填写表单数据，点击提交按钮，页面的表单数据由Hibernate自动封装到该页面表单所对应的ActionFrom（ActionFrom跟实体类不是一个东西，ActionFrom是页面有什么值，类里就写什么属性，是用来封装表单数据用的；而实体类是完全按照数据库的字段生成的，实体类可以当做ActionFrom用，但ActionFrom绝对不可以当做实体类用），这样表单数据就以ActionFrom对象的形式在Action的点击“提交按钮”执行的那个方法里存在了。这个时候需要做的就是把表单数据存入数据库中。此时，Action的功能告一段落，接着是把数据传入BIZ层。 BIZE层（业务逻辑层）：负责的是对数据的处理。如果没有数据处理任务的话，此层只做单纯的数据传递作用，而后又到了DAO层。<br>DAO层（数据库操作层）：负责对数据向数据库增删改查的操作.在该注册的框架中，如果不使用Spring的话，每个层之间的数据传递都需要new一个调用该层数据的类的实例。而使用了Spring的话，需要做的就是把DAO层和BIZ层的每个类都写一个接口类，接口类里写实现类的方法，在调用的时候不new对象，直接用对象点(.)方法就可以，别忘了对每个对象加上set/get方法。</p></li></ol><p>文章转载自网络，如有侵权，立刻删除！</p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;ol&gt;
&lt;li&gt;&lt;p&gt;Action/Service/DAO简介：&lt;br&gt;Action是管理业务（Service）调度和管理跳转的。&lt;br&gt;Service是管理具体的功能的。&lt;br&gt;Action只负责管理，而Service负责实施。&lt;br&gt;DAO只完成增删改查，虽然可以1-n，n
      
    
    </summary>
    
      <category term="框架" scheme="https://blog.orghub.cn/categories/%E6%A1%86%E6%9E%B6/"/>
    
      <category term="教程" scheme="https://blog.orghub.cn/categories/%E6%A1%86%E6%9E%B6/%E6%95%99%E7%A8%8B/"/>
    
    
      <category term="框架" scheme="https://blog.orghub.cn/tags/%E6%A1%86%E6%9E%B6/"/>
    
      <category term="SSH-2" scheme="https://blog.orghub.cn/tags/SSH-2/"/>
    
      <category term="Java-EE" scheme="https://blog.orghub.cn/tags/Java-EE/"/>
    
      <category term="Struts" scheme="https://blog.orghub.cn/tags/Struts/"/>
    
      <category term="Spring" scheme="https://blog.orghub.cn/tags/Spring/"/>
    
      <category term="Hibernate" scheme="https://blog.orghub.cn/tags/Hibernate/"/>
    
      <category term="Action" scheme="https://blog.orghub.cn/tags/Action/"/>
    
      <category term="Service" scheme="https://blog.orghub.cn/tags/Service/"/>
    
      <category term="Dao" scheme="https://blog.orghub.cn/tags/Dao/"/>
    
  </entry>
  
  <entry>
    <title>Mac使用Myeclipse搭建SSH2框架</title>
    <link href="https://blog.orghub.cn/2019/08/26/Mac%E4%BD%BF%E7%94%A8Myeclipse%E6%90%AD%E5%BB%BASSH2%E6%A1%86%E6%9E%B6/"/>
    <id>https://blog.orghub.cn/2019/08/26/Mac使用Myeclipse搭建SSH2框架/</id>
    <published>2019-08-26T08:58:47.000Z</published>
    <updated>2019-09-03T09:35:38.142Z</updated>
    
    <content type="html"><![CDATA[<h2 id="Mac使用Myeclipse搭建SSH2框架"><a href="#Mac使用Myeclipse搭建SSH2框架" class="headerlink" title="Mac使用Myeclipse搭建SSH2框架"></a>Mac使用Myeclipse搭建SSH2框架</h2><h2 id="框架流程"><a href="#框架流程" class="headerlink" title="框架流程"></a>框架流程</h2><blockquote><p>1.创建一个Web Project项目；</p><p>2.添加Struts；</p><p>3.添加Spring；</p><p>4.添加一个数据库；</p><p>5.添加Hibernate链接；</p></blockquote><h3 id="创建一个Web-Project项目"><a href="#创建一个Web-Project项目" class="headerlink" title="创建一个Web Project项目"></a>创建一个Web Project项目</h3><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/0.png" alt="0"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/1.png" alt="1"></p><p>这里请根据自己需求来写，若改变其中内容，后续选项可能会稍有不同</p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/2.png" alt="2"></p><p>添加架构如图所示，顺序123</p><h3 id="添加Struts"><a href="#添加Struts" class="headerlink" title="添加Struts"></a>添加Struts</h3><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/3.png" alt="3"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/4.png" alt="4"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/5.png" alt="5"></p><p>安装的架包视情况而定</p><h3 id="添加Spring"><a href="#添加Spring" class="headerlink" title="添加Spring"></a>添加Spring</h3><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/6.png" alt="6"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/7.png" alt="7"></p><p>这里想文件位置改变为如图所示位置</p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/8.png" alt="8"></p><h3 id="添加一个数据库"><a href="#添加一个数据库" class="headerlink" title="添加一个数据库"></a>添加一个数据库</h3><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/9.png" alt="9"></p><p>在数据库软件中添加一个数据库，软件不限，不会请自行百度</p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/10.png" alt="10"></p><p>切换到数据库视图，我们要将myeclipse链接到这个数据库</p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/11.png" alt="11"></p><p>新建一个连接</p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/12.png" alt="12"></p><p>1.使用的数据库语言</p><p>2.你要创建的链接名称</p><p>3.你的本地数据库地址</p><p>4.你的数据库用户名</p><p>5.你的数据库密码</p><p>6.添加驱动包</p><p>7.驱动bin包</p><p>8.设置驱动</p><p>9.保存密码</p><p>在第7步骤中需要下载数据库驱动jar包<code>mysql-connector-java-5.1.47-bin.jar</code>，具体百度获取。</p><p>注意是压缩包中 <code>-bin</code> 文件</p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/12.5.png" alt="12.5"></p><p>测试是否连通，若出现错误，请检查上图中是否设置出错。如url，用户名，密码等。</p><h3 id="添加Hibernate链接"><a href="#添加Hibernate链接" class="headerlink" title="添加Hibernate链接"></a>添加Hibernate链接</h3><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/13.png" alt="13"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/14.png" alt="14"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/15.png" alt="15"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/16.png" alt="16"></p><h3 id="Web测试"><a href="#Web测试" class="headerlink" title="Web测试"></a>Web测试</h3><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/17.png" alt="17"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/18.png" alt="18"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/19.png" alt="19"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/20.png" alt="20"></p><h2 id="实战操作"><a href="#实战操作" class="headerlink" title="实战操作"></a>实战操作</h2><h3 id="创建三个包"><a href="#创建三个包" class="headerlink" title="创建三个包"></a>创建三个包</h3><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/21.png" alt="21"></p><h4 id="dao包的配置"><a href="#dao包的配置" class="headerlink" title="dao包的配置"></a>dao包的配置</h4><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/22.png" alt="22"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/23.png" alt="23"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/24.png" alt="24"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/25.png" alt="25"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/26.png" alt="26"></p><h5 id="添加用户页面-jsp"><a href="#添加用户页面-jsp" class="headerlink" title="添加用户页面.jsp"></a>添加用户页面.jsp</h5><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/27.png" alt="27"></p><h5 id="添加一个form表单"><a href="#添加一个form表单" class="headerlink" title="添加一个form表单"></a>添加一个form表单</h5><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/28.png" alt="28"></p><p>拖动即可</p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/30.png" alt="30"></p><p>Emmmm……</p><p>不知道为什么心中一万个曹尼玛在奔腾，老版本的拖动以后可以直接设置属性，而新版本只能右下角，最后决定还是自己手打吧，这么一个一个找实在是太费劲了，最后贴一下这段HTML代码。</p><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">%@</span> <span class="attr">page</span> <span class="attr">language</span>=<span class="string">"java"</span> <span class="attr">contentType</span>=<span class="string">"text/html; charset=UTF-8"</span></span></span><br><span class="line"><span class="tag">    <span class="attr">pageEncoding</span>=<span class="string">"UTF-8"</span>%&gt;</span></span><br><span class="line">    <span class="tag">&lt;<span class="name">%@</span> <span class="attr">taglib</span> <span class="attr">prefix</span>=<span class="string">"s"</span> <span class="attr">uri</span>=<span class="string">"/struts-tags"</span> %&gt;</span></span><br><span class="line"><span class="meta">&lt;!DOCTYPE html&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">html</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">head</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">meta</span> <span class="attr">charset</span>=<span class="string">"UTF-8"</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">title</span>&gt;</span>添加用户信息页面<span class="tag">&lt;/<span class="name">title</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">head</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">body</span>&gt;</span></span><br><span class="line"></span><br><span class="line"><span class="tag">&lt;<span class="name">form</span> <span class="attr">style</span>=<span class="string">"height: 268px; "</span> <span class="attr">name</span>=<span class="string">"form1"</span> <span class="attr">method</span>=<span class="string">"post"</span> <span class="attr">action</span>=<span class="string">"AddUserAction"</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">table</span> <span class="attr">width</span>=<span class="string">"409"</span> <span class="attr">border</span>=<span class="string">"1"</span> <span class="attr">height</span>=<span class="string">"222"</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span> <span class="attr">colspan</span>=<span class="string">"2"</span> <span class="attr">height</span>=<span class="string">"20 &gt;</span></span></span><br><span class="line"><span class="tag"><span class="string">&lt;font color="</span><span class="attr">red</span>"&gt;</span><span class="tag">&lt;<span class="name">s:actionmessage</span>/&gt;</span><span class="tag">&lt;/<span class="name">font</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span>&gt;</span>用户名：<span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span>&gt;</span><span class="tag">&lt;<span class="name">input</span> <span class="attr">type</span>=<span class="string">"text"</span> <span class="attr">name</span>=<span class="string">"username"</span>&gt;</span><span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span>&gt;</span>密码：<span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span>&gt;</span><span class="tag">&lt;<span class="name">input</span> <span class="attr">type</span>=<span class="string">"password"</span> <span class="attr">name</span>=<span class="string">"password"</span>&gt;</span><span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span>&gt;</span>专业：<span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">select</span> <span class="attr">name</span>=<span class="string">"major"</span>&gt;</span></span><br><span class="line">  <span class="tag">&lt;<span class="name">option</span> <span class="attr">value</span>=<span class="string">"信息管理"</span>&gt;</span>信息管理<span class="tag">&lt;/<span class="name">option</span>&gt;</span></span><br><span class="line">  <span class="tag">&lt;<span class="name">option</span> <span class="attr">value</span>=<span class="string">"软件工程"</span>&gt;</span>软件工程<span class="tag">&lt;/<span class="name">option</span>&gt;</span></span><br><span class="line">  <span class="tag">&lt;<span class="name">option</span> <span class="attr">value</span>=<span class="string">"嵌入式"</span>&gt;</span>嵌入式<span class="tag">&lt;/<span class="name">option</span>&gt;</span></span><br><span class="line">  <span class="tag">&lt;<span class="name">option</span> <span class="attr">value</span>=<span class="string">"信息化"</span>&gt;</span>信息化<span class="tag">&lt;/<span class="name">option</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">select</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span>&gt;</span>年龄：<span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span>&gt;</span><span class="tag">&lt;<span class="name">input</span> <span class="attr">type</span>=<span class="string">"text"</span> <span class="attr">name</span>=<span class="string">"age"</span>&gt;</span><span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span>&gt;</span>性别：<span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">input</span> <span class="attr">type</span>=<span class="string">"radio"</span> <span class="attr">checked</span>=<span class="string">"checked"</span> <span class="attr">value</span>=<span class="string">"男"</span> <span class="attr">name</span>=<span class="string">"sex"</span>&gt;</span>男</span><br><span class="line"><span class="tag">&lt;<span class="name">input</span> <span class="attr">type</span>=<span class="string">"radio"</span> <span class="attr">value</span>=<span class="string">"女"</span> <span class="attr">name</span>=<span class="string">"sex"</span>&gt;</span>女</span><br><span class="line"><span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span>&gt;</span>出生日期：<span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span>&gt;</span><span class="tag">&lt;<span class="name">input</span> <span class="attr">type</span>=<span class="string">"text"</span> <span class="attr">name</span>=<span class="string">"birthday"</span> <span class="attr">value</span>=<span class="string">"yyyy-mm-dd"</span>&gt;</span><span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">td</span> <span class="attr">colspan</span>=<span class="string">"2"</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;<span class="name">input</span> <span class="attr">type</span>=<span class="string">"submit"</span> <span class="attr">name</span>=<span class="string">"button1"</span> <span class="attr">value</span>=<span class="string">"保存"</span>&gt;</span> </span><br><span class="line"><span class="tag">&lt;<span class="name">input</span> <span class="attr">type</span>=<span class="string">"reset"</span> <span class="attr">name</span>=<span class="string">"button2"</span> <span class="attr">value</span>=<span class="string">"取消"</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">td</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">tr</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">table</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">form</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">body</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">html</span>&gt;</span></span><br></pre></td></tr></table></figure><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/31.png" alt="31"></p><h4 id="Servic包的配置"><a href="#Servic包的配置" class="headerlink" title="Servic包的配置"></a>Servic包的配置</h4><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/32.png" alt="32"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/33.png" alt="33"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/34.png" alt="34"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/35.png" alt="35"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/36.png" alt="36"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/37.png" alt="37">抽取出接口</p><p>最终代码</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">package</span> com.hekai.service;</span><br><span class="line"></span><br><span class="line"><span class="keyword">import</span> java.util.List;</span><br><span class="line"></span><br><span class="line"><span class="keyword">import</span> com.hekai.dao.User;</span><br><span class="line"><span class="keyword">import</span> com.hekai.dao.UserDAO;</span><br><span class="line"></span><br><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">UserServiceImpl</span> <span class="keyword">implements</span> <span class="title">UserService</span> </span>&#123;</span><br><span class="line"><span class="keyword">private</span> UserDAO userDAO;</span><br><span class="line"></span><br><span class="line"><span class="comment">/* (non-Javadoc)</span></span><br><span class="line"><span class="comment"> * @see com.hekai.service.UserService#getUserDAO()</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"><span class="function"><span class="keyword">public</span> UserDAO <span class="title">getUserDAO</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="keyword">return</span> userDAO;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment">/* (non-Javadoc)</span></span><br><span class="line"><span class="comment"> * @see com.hekai.service.UserService#setUserDAO(com.hekai.dao.UserDAO)</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">setUserDAO</span><span class="params">(UserDAO userDAO)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.userDAO = userDAO;</span><br><span class="line">&#125;</span><br><span class="line"><span class="comment">/* (non-Javadoc)</span></span><br><span class="line"><span class="comment"> * @see com.hekai.service.UserService#addUser(com.hekai.dao.User)</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">boolean</span> <span class="title">addUser</span><span class="params">(User user)</span> </span>&#123;</span><br><span class="line">String username = user.getUsername();</span><br><span class="line">List&lt;User&gt; userList = userDAO.findByUsername(username);</span><br><span class="line"><span class="keyword">if</span> (userList.isEmpty()) &#123;</span><br><span class="line">userDAO.save(user);</span><br><span class="line"><span class="keyword">return</span> <span class="keyword">true</span>;</span><br><span class="line">&#125;<span class="keyword">else</span> &#123;</span><br><span class="line"><span class="keyword">return</span> <span class="keyword">false</span>;</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h4 id="Action包"><a href="#Action包" class="headerlink" title="Action包"></a>Action包</h4><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/38.png" alt="38"></p><p>这里需要注意导入ActionSupport包</p><p>同理</p><p>完整代码</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">package</span> com.hekai.action;</span><br><span class="line"></span><br><span class="line"><span class="keyword">import</span> java.util.Date;</span><br><span class="line"></span><br><span class="line"><span class="keyword">import</span> com.hekai.dao.User;</span><br><span class="line"><span class="keyword">import</span> com.hekai.service.UserService;</span><br><span class="line"><span class="keyword">import</span> com.opensymphony.xwork2.ActionSupport;</span><br><span class="line"></span><br><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">AddUserAction</span> <span class="keyword">extends</span> <span class="title">ActionSupport</span> </span>&#123;</span><br><span class="line"><span class="keyword">private</span> UserService userService;</span><br><span class="line"></span><br><span class="line"><span class="keyword">private</span> String username;</span><br><span class="line"><span class="keyword">private</span> String password;</span><br><span class="line"><span class="keyword">private</span> String major;</span><br><span class="line"><span class="keyword">private</span> Integer age;</span><br><span class="line"><span class="keyword">private</span> String sex;</span><br><span class="line"><span class="keyword">private</span> Date birthday;</span><br><span class="line"><span class="function"><span class="keyword">public</span> UserService <span class="title">getUserService</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="keyword">return</span> userService;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">setUserService</span><span class="params">(UserService userService)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.userService = userService;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> String <span class="title">getUsername</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="keyword">return</span> username;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">setUsername</span><span class="params">(String username)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.username = username;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> String <span class="title">getPassword</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="keyword">return</span> password;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">setPassword</span><span class="params">(String password)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.password = password;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> String <span class="title">getMajor</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="keyword">return</span> major;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">setMajor</span><span class="params">(String major)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.major = major;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> Integer <span class="title">getAge</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="keyword">return</span> age;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">setAge</span><span class="params">(Integer age)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.age = age;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> String <span class="title">getSex</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="keyword">return</span> sex;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">setSex</span><span class="params">(String sex)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.sex = sex;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> Date <span class="title">getBirthday</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="keyword">return</span> birthday;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">setBirthday</span><span class="params">(Date birthday)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.birthday = birthday;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> String <span class="title">execute</span><span class="params">()</span> <span class="keyword">throws</span> Exception</span>&#123;</span><br><span class="line">User user = <span class="keyword">new</span> User();</span><br><span class="line">user.setUsername(username);</span><br><span class="line">user.setPassword(password);</span><br><span class="line">user.setMajor(major);</span><br><span class="line">user.setAge(age);</span><br><span class="line">user.setSex(sex);</span><br><span class="line">user.setBirthday(birthday);</span><br><span class="line"><span class="keyword">if</span> (userService.addUser(user)) &#123;</span><br><span class="line"><span class="keyword">this</span>.addActionMessage(<span class="string">"添加用户成功!"</span>);</span><br><span class="line">&#125;<span class="keyword">else</span> &#123;</span><br><span class="line"><span class="keyword">this</span>.addActionMessage(<span class="string">"用户名已经存在，请选择其他用户名，添加失败!"</span>);</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">return</span> <span class="string">"success"</span>;</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h2 id="添加页面出现的小问题"><a href="#添加页面出现的小问题" class="headerlink" title="添加页面出现的小问题"></a>添加页面出现的小问题</h2><h3 id="无法连接数据库"><a href="#无法连接数据库" class="headerlink" title="无法连接数据库"></a>无法连接数据库</h3><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/39.png" alt="39"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/40.png" alt="40"></p><p>分析了一下原因发现是数据库驱动的问题，添加了这段代码就可以了，不知道为什么没有自动生成</p><figure class="highlight xml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">property</span> <span class="attr">name</span>=<span class="string">"driverClassName"</span></span></span><br><span class="line"><span class="tag"><span class="attr">value</span>=<span class="string">"com.mysql.jdbc.Driver"</span>&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">property</span>&gt;</span></span><br></pre></td></tr></table></figure><h3 id="乱码问题"><a href="#乱码问题" class="headerlink" title="乱码问题"></a>乱码问题</h3><p>乱码问题首先是在前台页面输如进来，在console打印的时候回出现乱码</p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/41.png" alt="41"></p><p>后来解决办法如下，将软件内所有可以更改的地方都改成<code>UTF-8</code>，JSP,XML中改成<code>GB2312</code></p><h4 id="打开Window-gt-Preferences选项"><a href="#打开Window-gt-Preferences选项" class="headerlink" title="打开Window-&gt;Preferences选项"></a>打开Window-&gt;Preferences选项</h4><p>完成中文编码设置。</p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/42.png" alt="42"> </p><h4 id="打开MyEclipse-gt-Files-and-Editors"><a href="#打开MyEclipse-gt-Files-and-Editors" class="headerlink" title="打开MyEclipse-&gt;Files and Editors"></a>打开MyEclipse-&gt;Files and Editors</h4><p> <img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/43.png" alt="43"></p><h4 id="设置Encoding为UTF-8"><a href="#设置Encoding为UTF-8" class="headerlink" title="设置Encoding为UTF-8"></a>设置Encoding为UTF-8</h4><p>设置ASP and PHP、CSS、DTD、HTML、JSP、XML中的Encoding为UTF-8（Mac中请善用搜索功能）</p><p> <img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/44.png" alt="44"></p><p>选择OK，保存设置。</p><h4 id="JDBC在建立数据连接时也需要指定一下编码"><a href="#JDBC在建立数据连接时也需要指定一下编码" class="headerlink" title="JDBC在建立数据连接时也需要指定一下编码"></a>JDBC在建立数据连接时也需要指定一下编码</h4><p><code>?characterEncoding=UTF-8</code>。</p><figure class="highlight xml"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">property</span> <span class="attr">name</span>=<span class="string">"url"</span> <span class="attr">value</span>=<span class="string">"jdbc:mysql://localhost:3306/sjk?characterEncoding=UTF-8"</span>&gt;</span><span class="tag">&lt;/<span class="name">property</span>&gt;</span></span><br></pre></td></tr></table></figure><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/45.png" alt="45"></p><h4 id="设置统一编码"><a href="#设置统一编码" class="headerlink" title="设置统一编码"></a>设置统一编码</h4><p>将所有的.xml和.jsp文件的编码方式统一设置成GB2312。</p><p> <img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/46.png" alt="46"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/47.png" alt="47"></p><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/48.png" alt="48"></p><h2 id="项目流程"><a href="#项目流程" class="headerlink" title="项目流程"></a>项目流程</h2><blockquote><p>1.创建数据库-&gt;创建Hibernate-&gt;生成DAO文件;</p><p>2.创建JSP页面；</p><p>3.添加Service-&gt;class(xxxxImpl)-&gt;添加Boolean方法-&gt;抽取接口文件(xxxx)；</p><p>4.添加Action-&gt;添加actionsupport(xwork2)接口-&gt;调用接口等配置-&gt;；</p><p>5.修改applicationContext.xml配置文件；</p><p>6.修改suruts.xml跳转文件；</p></blockquote><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/49.png" alt="49"></p><p>Action中的方法中单个方法使用的例子</p><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">form</span> <span class="attr">name</span>=<span class="string">"form1"</span>  <span class="attr">action</span>=<span class="string">"ManagerAction?method=addManager"</span> <span class="attr">method</span>=<span class="string">"post"</span>&gt;</span></span><br></pre></td></tr></table></figure><p><img src="/2019/08/26/Mac使用Myeclipse搭建SSH2框架/50.png" alt="50"></p><p>Action中的方法中直接使用方法的例子</p><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">form</span> <span class="attr">name</span>=<span class="string">"form1"</span> <span class="attr">method</span>=<span class="string">"post"</span> <span class="attr">action</span>=<span class="string">"AddUserAction"</span>&gt;</span></span><br></pre></td></tr></table></figure>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h2 id=&quot;Mac使用Myeclipse搭建SSH2框架&quot;&gt;&lt;a href=&quot;#Mac使用Myeclipse搭建SSH2框架&quot; class=&quot;headerlink&quot; title=&quot;Mac使用Myeclipse搭建SSH2框架&quot;&gt;&lt;/a&gt;Mac使用Myeclipse搭建SSH2
      
    
    </summary>
    
      <category term="框架" scheme="https://blog.orghub.cn/categories/%E6%A1%86%E6%9E%B6/"/>
    
      <category term="教程" scheme="https://blog.orghub.cn/categories/%E6%A1%86%E6%9E%B6/%E6%95%99%E7%A8%8B/"/>
    
    
      <category term="框架" scheme="https://blog.orghub.cn/tags/%E6%A1%86%E6%9E%B6/"/>
    
      <category term="SSH-2" scheme="https://blog.orghub.cn/tags/SSH-2/"/>
    
      <category term="Java-EE" scheme="https://blog.orghub.cn/tags/Java-EE/"/>
    
      <category term="Struts" scheme="https://blog.orghub.cn/tags/Struts/"/>
    
      <category term="Spring" scheme="https://blog.orghub.cn/tags/Spring/"/>
    
      <category term="Hibernate" scheme="https://blog.orghub.cn/tags/Hibernate/"/>
    
  </entry>
  
  <entry>
    <title>设定断点并监听从接口获得的结果集</title>
    <link href="https://blog.orghub.cn/2019/08/19/%E8%AE%BE%E5%AE%9A%E6%96%AD%E7%82%B9%E5%B9%B6%E7%9B%91%E5%90%AC%E4%BB%8E%E6%8E%A5%E5%8F%A3%E8%8E%B7%E5%BE%97%E7%9A%84%E7%BB%93%E6%9E%9C%E9%9B%86/"/>
    <id>https://blog.orghub.cn/2019/08/19/设定断点并监听从接口获得的结果集/</id>
    <published>2019-08-19T00:30:55.000Z</published>
    <updated>2020-01-06T03:44:01.852Z</updated>
    
    <content type="html"><![CDATA[<h2 id="通过设定断点并监听从接口获得的结果集"><a href="#通过设定断点并监听从接口获得的结果集" class="headerlink" title="通过设定断点并监听从接口获得的结果集"></a>通过设定断点并监听从接口获得的结果集</h2><h3 id="手动debugger流程"><a href="#手动debugger流程" class="headerlink" title="手动debugger流程"></a>手动debugger流程</h3><blockquote><p>1.设定一个debugger断点；</p><p>2.返回浏览器去打开检查；</p><p>3.双击选中要监听的字段；</p><p>4.右键选择Add selected text to watches；</p></blockquote><h4 id="设定一个debugger断点"><a href="#设定一个debugger断点" class="headerlink" title="设定一个debugger断点"></a>设定一个<code>debugger</code>断点</h4><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">showPsSeverityType()&#123;</span><br><span class="line">    <span class="keyword">var</span> self = <span class="keyword">this</span>;</span><br><span class="line"></span><br><span class="line">    ClueCollectionApi.getCodeMaster(&#123;<span class="attr">codeType</span>: <span class="string">"SEVERITY_TYPE"</span>&#125;).then(<span class="function"><span class="keyword">function</span>(<span class="params">res</span>)</span>&#123;</span><br><span class="line"></span><br><span class="line">        self.severitys = res.data.codeMasterList;</span><br><span class="line">        <span class="keyword">debugger</span>;</span><br><span class="line">        self.form.severity = self.severitys[<span class="number">0</span>].code;</span><br><span class="line">  &#125;);</span><br><span class="line">&#125;,</span><br></pre></td></tr></table></figure><h4 id="返回浏览器去打开检查"><a href="#返回浏览器去打开检查" class="headerlink" title="返回浏览器去打开检查"></a>返回浏览器去打开检查</h4><p><img src="/2019/08/19/设定断点并监听从接口获得的结果集/1.png" alt="1"></p><h4 id="双击选中要监听的字段"><a href="#双击选中要监听的字段" class="headerlink" title="双击选中要监听的字段"></a>双击选中要监听的字段</h4><p><img src="/2019/08/19/设定断点并监听从接口获得的结果集/2.png" alt="2"></p><h4 id="右键选择Add-selected-text-to-watches"><a href="#右键选择Add-selected-text-to-watches" class="headerlink" title="右键选择Add selected text to watches"></a>右键选择<code>Add selected text to watches</code></h4><p><img src="/2019/08/19/设定断点并监听从接口获得的结果集/3.png" alt="3"></p><h3 id="后台debug流程"><a href="#后台debug流程" class="headerlink" title="后台debug流程"></a>后台debug流程</h3><blockquote><p>1.在后台设定一个断点；</p><p>2.返回浏览器去打开相应的功能；</p><p>3.默认返回监听的字段；</p><p>4.右键选择 watches；</p></blockquote><h4 id="DeBug起项目"><a href="#DeBug起项目" class="headerlink" title="DeBug起项目"></a>DeBug起项目</h4><p><img src="/2019/08/19/设定断点并监听从接口获得的结果集/Java1.png" alt="Java1"></p><h4 id="双击设置断点"><a href="#双击设置断点" class="headerlink" title="双击设置断点"></a>双击设置断点</h4><p><img src="/2019/08/19/设定断点并监听从接口获得的结果集/Java2.png" alt="Java2"></p><p>右键监听</p><p><img src="/2019/08/19/设定断点并监听从接口获得的结果集/Java3.png" alt="Java3"></p><p><img src="/2019/08/19/设定断点并监听从接口获得的结果集/Java4.png" alt="Java4"></p><h3 id="前台debug流程"><a href="#前台debug流程" class="headerlink" title="前台debug流程"></a>前台debug流程</h3><blockquote><p>1.检查中找到你要监听的页面，设定一个debug断点；</p><p>2.返回浏览器去打开你要监听的功能；</p><p>3.双击选中要监听的字段；</p><p>4.右键选择Add selected text to watches；</p></blockquote><h4 id="Mac中检查快捷键是-Ctrl-Shift-C"><a href="#Mac中检查快捷键是-Ctrl-Shift-C" class="headerlink" title="Mac中检查快捷键是 Ctrl+Shift+C"></a>Mac中检查快捷键是 Ctrl+Shift+C</h4><h4 id="Win中检查快捷键是F12"><a href="#Win中检查快捷键是F12" class="headerlink" title="Win中检查快捷键是F12"></a>Win中检查快捷键是F12</h4><h4 id="首先找到你要监听的页面"><a href="#首先找到你要监听的页面" class="headerlink" title="首先找到你要监听的页面"></a>首先找到你要监听的页面</h4><p><img src="/2019/08/19/设定断点并监听从接口获得的结果集/w1.png" alt="w1"></p><h4 id="然后刷新你要监听的页面，并且执行你要监听的功能"><a href="#然后刷新你要监听的页面，并且执行你要监听的功能" class="headerlink" title="然后刷新你要监听的页面，并且执行你要监听的功能"></a>然后刷新你要监听的页面，并且执行你要监听的功能</h4><p><img src="/2019/08/19/设定断点并监听从接口获得的结果集/w2.png" alt="w2"></p><h4 id="右键，并监听"><a href="#右键，并监听" class="headerlink" title="右键，并监听"></a>右键，并监听</h4><p><img src="/2019/08/19/设定断点并监听从接口获得的结果集/w3.png" alt="w3"></p><p><img src="/2019/08/19/设定断点并监听从接口获得的结果集/w4.png" alt="w4"></p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h2 id=&quot;通过设定断点并监听从接口获得的结果集&quot;&gt;&lt;a href=&quot;#通过设定断点并监听从接口获得的结果集&quot; class=&quot;headerlink&quot; title=&quot;通过设定断点并监听从接口获得的结果集&quot;&gt;&lt;/a&gt;通过设定断点并监听从接口获得的结果集&lt;/h2&gt;&lt;h3 id=&quot;手
      
    
    </summary>
    
      <category term="前端" scheme="https://blog.orghub.cn/categories/%E5%89%8D%E7%AB%AF/"/>
    
      <category term="教程" scheme="https://blog.orghub.cn/categories/%E5%89%8D%E7%AB%AF/%E6%95%99%E7%A8%8B/"/>
    
    
      <category term="前端" scheme="https://blog.orghub.cn/tags/%E5%89%8D%E7%AB%AF/"/>
    
      <category term="断点" scheme="https://blog.orghub.cn/tags/%E6%96%AD%E7%82%B9/"/>
    
      <category term="监听" scheme="https://blog.orghub.cn/tags/%E7%9B%91%E5%90%AC/"/>
    
  </entry>
  
  <entry>
    <title>通过JSON实现本地页面传递</title>
    <link href="https://blog.orghub.cn/2019/08/08/%E9%80%9A%E8%BF%87JSON%E5%AE%9E%E7%8E%B0%E6%9C%AC%E5%9C%B0%E9%A1%B5%E9%9D%A2%E4%BC%A0%E9%80%92/"/>
    <id>https://blog.orghub.cn/2019/08/08/通过JSON实现本地页面传递/</id>
    <published>2019-08-08T01:37:59.000Z</published>
    <updated>2019-08-08T01:45:48.320Z</updated>
    
    <content type="html"><![CDATA[<h2 id="通过JSON实现本地页面传递"><a href="#通过JSON实现本地页面传递" class="headerlink" title="通过JSON实现本地页面传递"></a>通过JSON实现本地页面传递</h2><h3 id="流程"><a href="#流程" class="headerlink" title="流程"></a>流程</h3><blockquote><p>1.创建一个要传递的数组；</p><p>2.存数据；</p><p>3.取数据；</p><p>4.完善；</p></blockquote><h4 id="创建一个要传递的数组"><a href="#创建一个要传递的数组" class="headerlink" title="创建一个要传递的数组"></a>创建一个要传递的数组</h4><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// 创建json数组</span></span><br><span class="line"><span class="keyword">var</span> successJson = &#123;</span><br><span class="line">    <span class="comment">// 示例：clueContent: self.form.clueContent,</span></span><br><span class="line">    clueTitle: self.form.clueTitle,              <span class="comment">// 标题</span></span><br><span class="line">    occurTime: self.form.occurTime,              <span class="comment">// 响应时间</span></span><br><span class="line">    clueContent: self.form.clueContent,          <span class="comment">// 内容</span></span><br><span class="line">    informerName: self.form.informerName,        <span class="comment">// 提交人</span></span><br><span class="line">    unit: self.form.unit,                        <span class="comment">//责任单位</span></span><br><span class="line">    view: self.form.view,                        <span class="comment">//处置意见</span></span><br><span class="line">    originalUrl: self.form.originalUrl,          <span class="comment">//舆情原址</span></span><br><span class="line">    label: self.form.label.join(<span class="string">" "</span>)+<span class="string">"#"</span>,        <span class="comment">// 标签</span></span><br><span class="line">    sort: self.form.sort.join(<span class="string">" "</span>)+<span class="string">"#"</span>,          <span class="comment">//分类</span></span><br><span class="line">    severity: self.form.severity.join(<span class="string">" "</span>)+<span class="string">"#"</span>,  <span class="comment">//严重程度</span></span><br><span class="line">&#125;;</span><br><span class="line"><span class="built_in">console</span>.log(successJson);</span><br></pre></td></tr></table></figure><h4 id="存数据"><a href="#存数据" class="headerlink" title="存数据"></a>存数据</h4><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// 传递json中存数据</span></span><br><span class="line"><span class="keyword">var</span> jsonStr = <span class="built_in">JSON</span>.stringify(successJson);<span class="comment">//将JSON转为字符串</span></span><br><span class="line">localStorage.successJson = jsonStr; <span class="comment">// 将字符串存到 localStorage successJson 键下</span></span><br></pre></td></tr></table></figure><h4 id="取数据"><a href="#取数据" class="headerlink" title="取数据"></a>取数据</h4><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// 从json中取数据</span></span><br><span class="line"><span class="keyword">var</span> newUsers = <span class="built_in">JSON</span>.parse(localStorage.successJson);<span class="comment">// 转为JSON</span></span><br><span class="line"><span class="built_in">console</span>.log(newUsers); <span class="comment">// 打印出原先对象</span></span><br></pre></td></tr></table></figure><h4 id="完善"><a href="#完善" class="headerlink" title="完善"></a>完善</h4><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// 严重程度</span></span><br><span class="line">self.form.clueExt2 = newUsers.severity.split(<span class="string">"#"</span>)[<span class="number">0</span>];</span><br><span class="line"><span class="comment">// 分类</span></span><br><span class="line">self.form.clueExt1 = newUsers.sort.split(<span class="string">"#"</span>)[<span class="number">0</span>];</span><br><span class="line"><span class="comment">// 标签</span></span><br><span class="line">self.form.clueExt4 = newUsers.label.split(<span class="string">"#"</span>)[<span class="number">0</span>];</span><br><span class="line"> <span class="comment">// 责任单位</span></span><br><span class="line"> self.form.unit = newUsers.unit;</span><br><span class="line"> <span class="comment">// 处置意见</span></span><br><span class="line"> self.form.view = newUsers.view;</span><br></pre></td></tr></table></figure>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h2 id=&quot;通过JSON实现本地页面传递&quot;&gt;&lt;a href=&quot;#通过JSON实现本地页面传递&quot; class=&quot;headerlink&quot; title=&quot;通过JSON实现本地页面传递&quot;&gt;&lt;/a&gt;通过JSON实现本地页面传递&lt;/h2&gt;&lt;h3 id=&quot;流程&quot;&gt;&lt;a href=&quot;#流程&quot;
      
    
    </summary>
    
      <category term="前端" scheme="https://blog.orghub.cn/categories/%E5%89%8D%E7%AB%AF/"/>
    
      <category term="教程" scheme="https://blog.orghub.cn/categories/%E5%89%8D%E7%AB%AF/%E6%95%99%E7%A8%8B/"/>
    
    
      <category term="前端" scheme="https://blog.orghub.cn/tags/%E5%89%8D%E7%AB%AF/"/>
    
      <category term="json" scheme="https://blog.orghub.cn/tags/json/"/>
    
  </entry>
  
  <entry>
    <title>免费获得OneDrive 5T网盘及正版Office 365授权</title>
    <link href="https://blog.orghub.cn/2019/06/07/%E5%85%8D%E8%B4%B9%E8%8E%B7%E5%BE%97OneDrive-5T%E7%BD%91%E7%9B%98%E5%8F%8A%E6%AD%A3%E7%89%88Office-365%E6%8E%88%E6%9D%83/"/>
    <id>https://blog.orghub.cn/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/</id>
    <published>2019-06-07T06:27:30.000Z</published>
    <updated>2019-06-07T06:57:21.331Z</updated>
    
    <content type="html"><![CDATA[<h2 id="免费获得OneDrive-5T网盘及正版Office-365授权"><a href="#免费获得OneDrive-5T网盘及正版Office-365授权" class="headerlink" title="免费获得OneDrive 5T网盘及正版Office 365授权"></a>免费获得OneDrive 5T网盘及正版Office 365授权</h2><p>Onedrive是微软的网络硬盘，普通用户有5G的空间。今天介绍的方法可以达到5T的空间，而且方法简单、快速。</p><p>额外获得技能：永久使用最新版Office 365。</p><h3 id="获取流程"><a href="#获取流程" class="headerlink" title="获取流程"></a>获取流程</h3><blockquote><p>1.注册临时邮箱；</p><p>2.注册Office365；</p><p>3.设置正版Office 365授权；</p></blockquote><h3 id="注册临时邮箱"><a href="#注册临时邮箱" class="headerlink" title="注册临时邮箱"></a>注册临时邮箱</h3><p>首先打开这个网站：<a href="http://24mail.chacuo.net/" target="_blank" rel="noopener">http://24mail.chacuo.net/</a> ，随机或者自行设置一个临时邮箱。不要关闭这个网站。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/1.创建临时邮箱.png" alt="1.创建临时邮箱"></p><p>然后打开网址：<a href="https://products.office.com/en-us/student?tab=students" target="_blank" rel="noopener">https://products.office.com/en-us/student?tab=students</a> 输入 <strong>刚才的<a href="mailto:ID@stu.mao.office.gy" target="_blank" rel="noopener">ID@stu.mao.office.gy</a></strong></p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/2.创建365邮箱.png" alt="2.创建365邮箱"></p><p>请注意上面加粗的邮箱地址！不是刚才的临时邮箱！</p><h3 id="注册Office365"><a href="#注册Office365" class="headerlink" title="注册Office365"></a>注册Office365</h3><p>然后选老师或学生都无所谓。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/3.哪一个无所谓.png" alt="3.哪一个无所谓"></p><p>然后回到刚才的临时邮箱页面F5刷新，查看验证码，如果没有的话就稍微等一会，2分钟以后还没有的话，就可以说重头再来了。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/4.填写验证码.png" alt="4.填写验证码"></p><p>选择跳过。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/5.跳过.png" alt="5.跳过"></p><p>进入页面以后打开OneDrive。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/6.打开OneDrive.png" alt="6.打开OneDrive"></p><p>这个时候需要登录你的微软账号，默认的情况下会有登录记录，如下图。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/7.选择登录你自己的账户.png" alt="7.选择登录你自己的账户"></p><p>验证一下你自己的邮箱。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/8.验证你自己真实的邮箱.png" alt="8.验证你自己真实的邮箱"></p><p>这个地方需要填写真实的邮箱地址，教程中的图片仅供测试使用。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/9.验证邮箱.png" alt="9.验证邮箱"></p><p>点击完成。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/10.完成.png" alt="10.完成"></p><p>等待一段时间会出现下图的字样，点击进入即可。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/11.开始使用.png" alt="11.开始使用"></p><p>点击设置按钮，点击OneDrive设置。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/12.查看空间.png" alt="12.查看空间"></p><p>点击其他设置，存储标准，即可查看网盘大小。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/13.确认空间.png" alt="13.确认空间"></p><h3 id="设置正版Office-365授权"><a href="#设置正版Office-365授权" class="headerlink" title="设置正版Office 365授权"></a>设置正版Office 365授权</h3><p>访问如下链接：<a href="https://account.activedirectory.windowsazure.com/r/#/groups" target="_blank" rel="noopener">https://account.activedirectory.windowsazure.com/r/#/groups</a></p><p>点击加入组。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/14.加入组1.png" alt="14.加入组1"></p><p>点击加入组。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/14.加入组2.png" alt="14.加入组2"></p><p>加入理由随便写，然后点击请求。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/15理由随便写.png" alt="15理由随便写"></p><p>然后关掉这个页面。</p><p>登录这个网址。<a href="https://login.microsoftonline.com并点击我的账户" target="_blank" rel="noopener">https://login.microsoftonline.com并点击我的账户</a></p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/16.查看桌面版授权.png" alt="16.查看桌面版授权"></p><p>再次查看，发现桌面版已授权。</p><p><img src="/2019/06/07/免费获得OneDrive-5T网盘及正版Office-365授权/17.已经可以安装正版office了.png" alt="17.已经可以安装正版office了"></p><h3 id="注意事项："><a href="#注意事项：" class="headerlink" title="注意事项："></a>注意事项：</h3><p>1、请勿用于存储重要资料！</p><p>2、多次注册会被封号处理！</p><p>3、如果不成功请看是不是完全按照我红色强调的做了！油管频道会在5月2日下午上视频教程。</p><p>4、请勿用于获利！</p><p><strong>如果你想完全卸载之前的盗版，请清除所有许可证，卸载所有密钥，清除服务器地址三步走！</strong>具体方法请自行搜索。</p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h2 id=&quot;免费获得OneDrive-5T网盘及正版Office-365授权&quot;&gt;&lt;a href=&quot;#免费获得OneDrive-5T网盘及正版Office-365授权&quot; class=&quot;headerlink&quot; title=&quot;免费获得OneDrive 5T网盘及正版Office 3
      
    
    </summary>
    
      <category term="教程" scheme="https://blog.orghub.cn/categories/%E6%95%99%E7%A8%8B/"/>
    
    
      <category term="OneDrive网盘" scheme="https://blog.orghub.cn/tags/OneDrive%E7%BD%91%E7%9B%98/"/>
    
      <category term="免费" scheme="https://blog.orghub.cn/tags/%E5%85%8D%E8%B4%B9/"/>
    
  </entry>
  
  <entry>
    <title>Win10LTSCv4.0</title>
    <link href="https://blog.orghub.cn/2019/06/06/Win10LTSCv4-0/"/>
    <id>https://blog.orghub.cn/2019/06/06/Win10LTSCv4-0/</id>
    <published>2019-06-06T15:26:22.000Z</published>
    <updated>2019-06-06T15:47:04.165Z</updated>
    
    <content type="html"><![CDATA[<h1 id="【TheMrxk】Win10-LTSC企业版-x64-适度精简版v4-0"><a href="#【TheMrxk】Win10-LTSC企业版-x64-适度精简版v4-0" class="headerlink" title="【TheMrxk】Win10 LTSC企业版 x64 适度精简版v4.0"></a>【TheMrxk】Win10 LTSC企业版 x64 适度精简版v4.0</h1><h3 id="【系统简介】"><a href="#【系统简介】" class="headerlink" title="【系统简介】"></a>【系统简介】</h3><blockquote><h4 id="Win10-LTSC企业版一直是我最用心制作的一个系统，一方面系统本身是真的好用，一方面也是我的第一个自制系统，尽管上一个版本并不完善，但每个版本的系统我都会当做“儿子”来看待。So-请你们相信我，无论当前版本好与差，只要你们说不，我就会去改，会去更新，希望每一个用我系统的人都可以享受一份快乐而不是抱怨！"><a href="#Win10-LTSC企业版一直是我最用心制作的一个系统，一方面系统本身是真的好用，一方面也是我的第一个自制系统，尽管上一个版本并不完善，但每个版本的系统我都会当做“儿子”来看待。So-请你们相信我，无论当前版本好与差，只要你们说不，我就会去改，会去更新，希望每一个用我系统的人都可以享受一份快乐而不是抱怨！" class="headerlink" title="Win10 LTSC企业版一直是我最用心制作的一个系统，一方面系统本身是真的好用，一方面也是我的第一个自制系统，尽管上一个版本并不完善，但每个版本的系统我都会当做“儿子”来看待。So 请你们相信我，无论当前版本好与差，只要你们说不，我就会去改，会去更新，希望每一个用我系统的人都可以享受一份快乐而不是抱怨！"></a>Win10 LTSC企业版一直是我最用心制作的一个系统，一方面系统本身是真的好用，一方面也是我的第一个自制系统，尽管上一个版本并不完善，但每个版本的系统我都会当做“儿子”来看待。So 请你们相信我，无论当前版本好与差，只要你们说不，我就会去改，会去更新，希望每一个用我系统的人都可以享受一份快乐而不是抱怨！</h4></blockquote><h3 id="【系统说明】"><a href="#【系统说明】" class="headerlink" title="【系统说明】"></a>【系统说明】</h3><blockquote><h4 id="【v4-0系统说明】"><a href="#【v4-0系统说明】" class="headerlink" title="【v4.0系统说明】"></a>【v4.0系统说明】</h4><h4 id="2019年5月7日更新：基于父版本制作而成，优化C-Program-Files-x86-不明来历文件夹，去除自动激活并添加激活工具在桌面AAct-exe（自动激活反响不是很好）"><a href="#2019年5月7日更新：基于父版本制作而成，优化C-Program-Files-x86-不明来历文件夹，去除自动激活并添加激活工具在桌面AAct-exe（自动激活反响不是很好）" class="headerlink" title="2019年5月7日更新：基于父版本制作而成，优化C:\Program Files (x86)不明来历文件夹，去除自动激活并添加激活工具在桌面AAct.exe（自动激活反响不是很好）"></a>2019年5月7日更新：基于父版本制作而成，优化C:\Program Files (x86)不明来历文件夹，去除自动激活并添加激活工具在桌面AAct.exe（自动激活反响不是很好）</h4><h4 id="【v3-1系统说明】"><a href="#【v3-1系统说明】" class="headerlink" title="【v3.1系统说明】"></a>【v3.1系统说明】</h4><h4 id="2019年5月4日更新：优化自动激活功能，更改离线激活路径，增加激活成功率"><a href="#2019年5月4日更新：优化自动激活功能，更改离线激活路径，增加激活成功率" class="headerlink" title="2019年5月4日更新：优化自动激活功能，更改离线激活路径，增加激活成功率"></a>2019年5月4日更新：优化自动激活功能，更改离线激活路径，增加激活成功率</h4><h4 id="【v3-0系统说明】"><a href="#【v3-0系统说明】" class="headerlink" title="【v3.0系统说明】"></a>【v3.0系统说明】</h4><h4 id="2019年5月2日更新：优化部分功能，添加离线自动激活功能（功能因时间推迟可能出现激活失败的情况，请自行百度激活）"><a href="#2019年5月2日更新：优化部分功能，添加离线自动激活功能（功能因时间推迟可能出现激活失败的情况，请自行百度激活）" class="headerlink" title="2019年5月2日更新：优化部分功能，添加离线自动激活功能（功能因时间推迟可能出现激活失败的情况，请自行百度激活）"></a>2019年5月2日更新：优化部分功能，添加离线自动激活功能（功能因时间推迟可能出现激活失败的情况，请自行百度激活）</h4><h4 id="【v2-1系统说明】"><a href="#【v2-1系统说明】" class="headerlink" title="【v2.1系统说明】"></a>【v2.1系统说明】</h4><h4 id="2019年4月25日更新：部分功能进行优化，无大改动"><a href="#2019年4月25日更新：部分功能进行优化，无大改动" class="headerlink" title="2019年4月25日更新：部分功能进行优化，无大改动"></a>2019年4月25日更新：部分功能进行优化，无大改动</h4><h4 id="【v2-0系统说明】"><a href="#【v2-0系统说明】" class="headerlink" title="【v2.0系统说明】"></a>【v2.0系统说明】</h4><h4 id="2019年4月1日更新：修复1803系统官方存在的虚拟内存转移出错问题"><a href="#2019年4月1日更新：修复1803系统官方存在的虚拟内存转移出错问题" class="headerlink" title="2019年4月1日更新：修复1803系统官方存在的虚拟内存转移出错问题"></a>2019年4月1日更新：修复1803系统官方存在的虚拟内存转移出错问题</h4><h4 id="【v1-0系统说明】"><a href="#【v1-0系统说明】" class="headerlink" title="【v1.0系统说明】"></a>【v1.0系统说明】</h4><h4 id="基于cn-windows-10-enterprise-ltsc-2019-x64-dvd-9c09ff24制作优化，精简大量微软自带软件，还原一个纯净的系统，打入补丁和-Net3-5组件，集成个人优化方案。体积缩小70-释放后为10G左右"><a href="#基于cn-windows-10-enterprise-ltsc-2019-x64-dvd-9c09ff24制作优化，精简大量微软自带软件，还原一个纯净的系统，打入补丁和-Net3-5组件，集成个人优化方案。体积缩小70-释放后为10G左右" class="headerlink" title="基于cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24制作优化，精简大量微软自带软件，还原一个纯净的系统，打入补丁和.Net3.5组件，集成个人优化方案。体积缩小70%释放后为10G左右"></a>基于cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24制作优化，精简大量微软自带软件，还原一个纯净的系统，打入补丁和.Net3.5组件，集成个人优化方案。体积缩小70%释放后为10G左右</h4></blockquote><h3 id="【系统特点】"><a href="#【系统特点】" class="headerlink" title="【系统特点】"></a>【系统特点】</h3><blockquote><h4 id="1-使用搜狗精简版输入法代替了微软拼音。"><a href="#1-使用搜狗精简版输入法代替了微软拼音。" class="headerlink" title="1.使用搜狗精简版输入法代替了微软拼音。"></a>1.使用搜狗精简版输入法代替了微软拼音。</h4><h4 id="2-开始菜单样式仿win7-（可更改回原来的样子）。"><a href="#2-开始菜单样式仿win7-（可更改回原来的样子）。" class="headerlink" title="2.开始菜单样式仿win7,（可更改回原来的样子）。"></a>2.开始菜单样式仿win7,（可更改回原来的样子）。</h4><h4 id="3-迁移视频，收藏夹，图片，文档，下载，音乐为D盘，安装时请先分区，否则可能出现未知错误。"><a href="#3-迁移视频，收藏夹，图片，文档，下载，音乐为D盘，安装时请先分区，否则可能出现未知错误。" class="headerlink" title="3.迁移视频，收藏夹，图片，文档，下载，音乐为D盘，安装时请先分区，否则可能出现未知错误。"></a>3.迁移视频，收藏夹，图片，文档，下载，音乐为D盘，安装时请先分区，否则可能出现未知错误。</h4></blockquote><h3 id="【如何安装】"><a href="#【如何安装】" class="headerlink" title="【如何安装】"></a>【如何安装】</h3><blockquote><h4 id="本版本为无人值守版本-，在PE环境下使用Dism-释放自己需要的版本，系统没有篡改锁定主页和添加垃圾软件的行为，请不要使用大X菜，老X桃，深度PE等含有广告性质的PE安装本系统！"><a href="#本版本为无人值守版本-，在PE环境下使用Dism-释放自己需要的版本，系统没有篡改锁定主页和添加垃圾软件的行为，请不要使用大X菜，老X桃，深度PE等含有广告性质的PE安装本系统！" class="headerlink" title="本版本为无人值守版本 ，在PE环境下使用Dism++释放自己需要的版本，系统没有篡改锁定主页和添加垃圾软件的行为，请不要使用大X菜，老X桃，深度PE等含有广告性质的PE安装本系统！"></a>本版本为无人值守版本 ，在PE环境下使用Dism++释放自己需要的版本，系统没有篡改锁定主页和添加垃圾软件的行为，请不要使用大X菜，老X桃，深度PE等含有广告性质的PE安装本系统！</h4><h4 id="系统安装后，请勿使用腾讯管家-360，等软件优化系统，出现问题与本人无关！"><a href="#系统安装后，请勿使用腾讯管家-360，等软件优化系统，出现问题与本人无关！" class="headerlink" title="系统安装后，请勿使用腾讯管家 360，等软件优化系统，出现问题与本人无关！"></a>系统安装后，请勿使用腾讯管家 360，等软件优化系统，出现问题与本人无关！</h4></blockquote><h3 id="【免责声明】"><a href="#【免责声明】" class="headerlink" title="【免责声明】"></a>【免责声明】</h3><blockquote><h4 id="本系统及软件来源于互联网，版权属各自产权人所有，仅用于临时测试PC硬件之用，不得用于商业用途，我不承担任何技术及版权问题，且不对任何资源负法律责任。所有资源请在下载后72小时内删除。制作安装镜像"><a href="#本系统及软件来源于互联网，版权属各自产权人所有，仅用于临时测试PC硬件之用，不得用于商业用途，我不承担任何技术及版权问题，且不对任何资源负法律责任。所有资源请在下载后72小时内删除。制作安装镜像" class="headerlink" title="本系统及软件来源于互联网，版权属各自产权人所有，仅用于临时测试PC硬件之用，不得用于商业用途，我不承担任何技术及版权问题，且不对任何资源负法律责任。所有资源请在下载后72小时内删除。制作安装镜像"></a>本系统及软件来源于互联网，版权属各自产权人所有，仅用于临时测试PC硬件之用，不得用于商业用途，我不承担任何技术及版权问题，且不对任何资源负法律责任。所有资源请在下载后72小时内删除。制作安装镜像</h4></blockquote><h3 id="【系统截图】"><a href="#【系统截图】" class="headerlink" title="【系统截图】"></a>【系统截图】</h3><blockquote><p><img src="/2019/06/06/Win10LTSCv4-0/20190507175604yjudd.jpeg" alt="20190507175604yjudd"></p><p><img src="/2019/06/06/Win10LTSCv4-0/20190507180000itv42.jpeg" alt="20190507180000itv42"></p><p><img src="/2019/06/06/Win10LTSCv4-0/20190507180041ndzft.jpeg" alt="20190507180041ndzft"></p></blockquote><h3 id="【系统下载】"><a href="#【系统下载】" class="headerlink" title="【系统下载】"></a>【系统下载】</h3><blockquote><h4 id="【TheMrxk】Win10-LTSC企业版-x64-适度精简版v4-0-1"><a href="#【TheMrxk】Win10-LTSC企业版-x64-适度精简版v4-0-1" class="headerlink" title="【TheMrxk】Win10 LTSC企业版 x64 适度精简版v4.0"></a>【TheMrxk】Win10 LTSC企业版 x64 适度精简版v4.0</h4><h4 id="百度网盘："><a href="#百度网盘：" class="headerlink" title="百度网盘："></a>百度网盘：</h4><h4 id="链接-https-pan-baidu-com-s-14I7tO8kogL6Kt-BhD7ON0w"><a href="#链接-https-pan-baidu-com-s-14I7tO8kogL6Kt-BhD7ON0w" class="headerlink" title="链接:https://pan.baidu.com/s/14I7tO8kogL6Kt-BhD7ON0w"></a>链接:<a href="https://pan.baidu.com/s/14I7tO8kogL6Kt-BhD7ON0w" target="_blank" rel="noopener">https://pan.baidu.com/s/14I7tO8kogL6Kt-BhD7ON0w</a></h4><h4 id="密码-请扫面屏幕下方二维码公告中获取（制作不易请谅解-）"><a href="#密码-请扫面屏幕下方二维码公告中获取（制作不易请谅解-）" class="headerlink" title="密码:请扫面屏幕下方二维码公告中获取（制作不易请谅解~）"></a>密码:请扫面屏幕下方二维码公告中获取（制作不易请谅解~）</h4><p><img src="/2019/06/06/Win10LTSCv4-0/20190508204849x0uy5.jpeg" alt="20190508204849x0uy5"></p></blockquote><h3 id="【交流反馈】"><a href="#【交流反馈】" class="headerlink" title="【交流反馈】"></a>【交流反馈】</h3><blockquote><h4 id="个人博客：blog-orghub-cn"><a href="#个人博客：blog-orghub-cn" class="headerlink" title="个人博客：blog.orghub.cn"></a>个人博客：<a href="https://www.winos.me/wp-content/themes/begin/go.php?url=aHR0cHM6Ly9ibG9nLm9yZ2h1Yi5jbi8=" target="_blank" rel="noopener">blog.orghub.cn</a></h4><h4 id="QQ交流群：①群-：70230004（小号误加-秒退误加）"><a href="#QQ交流群：①群-：70230004（小号误加-秒退误加）" class="headerlink" title="QQ交流群：①群 ：70230004（小号误加,秒退误加）"></a>QQ交流群：①群 ：70230004（小号误加,秒退误加）</h4><h4 id="QQ：952339610"><a href="#QQ：952339610" class="headerlink" title="QQ：952339610"></a>QQ：952339610</h4></blockquote>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h1 id=&quot;【TheMrxk】Win10-LTSC企业版-x64-适度精简版v4-0&quot;&gt;&lt;a href=&quot;#【TheMrxk】Win10-LTSC企业版-x64-适度精简版v4-0&quot; class=&quot;headerlink&quot; title=&quot;【TheMrxk】Win10 LTSC企
      
    
    </summary>
    
      <category term="Win10优化系统" scheme="https://blog.orghub.cn/categories/Win10%E4%BC%98%E5%8C%96%E7%B3%BB%E7%BB%9F/"/>
    
    
      <category term="Win10" scheme="https://blog.orghub.cn/tags/Win10/"/>
    
      <category term="精简" scheme="https://blog.orghub.cn/tags/%E7%B2%BE%E7%AE%80/"/>
    
      <category term="优化" scheme="https://blog.orghub.cn/tags/%E4%BC%98%E5%8C%96/"/>
    
  </entry>
  
  <entry>
    <title>Mac安装MySQL数据库</title>
    <link href="https://blog.orghub.cn/2019/02/26/Mac%E5%AE%89%E8%A3%85MySQL%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
    <id>https://blog.orghub.cn/2019/02/26/Mac安装MySQL数据库/</id>
    <published>2019-02-26T04:52:34.000Z</published>
    <updated>2019-02-26T05:44:20.279Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Mac安装MySQL数据库及可视化界面"><a href="#Mac安装MySQL数据库及可视化界面" class="headerlink" title="Mac安装MySQL数据库及可视化界面"></a>Mac安装MySQL数据库及可视化界面</h1><h3 id="安装介绍"><a href="#安装介绍" class="headerlink" title="安装介绍"></a>安装介绍</h3><blockquote><p>1.安装MySQL；</p><p>2.安装MySQL Workbench；</p><p>3.常用代码；</p></blockquote><h3 id="安装MySQL"><a href="#安装MySQL" class="headerlink" title="安装MySQL"></a>安装MySQL</h3><h4 id="下载最新的MySQL社区版"><a href="#下载最新的MySQL社区版" class="headerlink" title="下载最新的MySQL社区版"></a>下载<a href="https://link.jianshu.com?t=https://dev.mysql.com/downloads/mysql/" target="_blank" rel="noopener">最新的MySQL社区版</a></h4><p>为了安装更方便，建议下载dmg安装包。<br> 最新的版本是8.0.15。</p><p><img src="/2019/02/26/Mac安装MySQL数据库/1.png" alt="1"></p><h4 id="安装MySQL-1"><a href="#安装MySQL-1" class="headerlink" title="安装MySQL"></a>安装MySQL</h4><p>双击 mysql-8.0.15-macos10.14-x86_64.dmg 文件，加载镜像<br>双击 mysql-8.0.15-macos10.14-x86_64.pkg ，开始安装</p><p><img src="/2019/02/26/Mac安装MySQL数据库/2.png" alt="2"></p><p>一直点击继续就可以安装成功。</p><blockquote><p>注意：安装即将完成之后会弹出一个对话框，告诉我们生成了一个root账户让你设置一个密码。请注意保存，否则重设密码会比较麻烦。</p></blockquote><p><img src="/2019/02/26/Mac安装MySQL数据库/设置一个密码.png" alt="设置一个密码"></p><blockquote><p>如果安装完不能登录，稍后会告诉大家怎么解决忘记密码的问题。</p></blockquote><h4 id="启动MySQL"><a href="#启动MySQL" class="headerlink" title="启动MySQL"></a>启动MySQL</h4><p>打开系统偏好设置，会发现多了一个MySQL图标，点击它，会进入MySQL的设置界面：</p><p><img src="/2019/02/26/Mac安装MySQL数据库/设置中有MySQL图标.png" alt="设置中有MySQL图标"></p><p>安装之后，默认MySQL的状态是running，开启的。点击“Stop MySQL Server”按钮来可以它。下方还有一个复选框按钮，可以设置是否在系统启动的时候自动启动MySQL，默认是勾选的，建议取消，节省开机时间。</p><p><img src="/2019/02/26/Mac安装MySQL数据库/开启MySQL.png" alt="开启MySQL"></p><h4 id="终端连接MySQL"><a href="#终端连接MySQL" class="headerlink" title="终端连接MySQL"></a>终端连接MySQL</h4><p>打开终端，为Path路径附加MySQL的bin目录</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">PATH="$PATH":/usr/local/mysql/bin</span><br></pre></td></tr></table></figure><p>然后通过以下命令登陆MySQL（密码就是前面设置的密码）</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mysql -u root -p</span><br></pre></td></tr></table></figure><p><img src="/2019/02/26/Mac安装MySQL数据库/输入密码 默认不可见的.png" alt="输入密码 默认不可见的"></p><p>出现上面的提示就表示成功连接数据库了</p><h4 id="低版本会出现的问题"><a href="#低版本会出现的问题" class="headerlink" title="低版本会出现的问题"></a>低版本会出现的问题</h4><blockquote><p>如果较低版本会自动生成一个密码，这个密码需要记住，并且在连接是会发生以下问题，并附上解决办法</p></blockquote><p>登陆成功，但是运行命令的时候会报错，提示我们需要重设密码。</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">mysql&gt;</span> show databases;ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.mysql&gt;</span><br></pre></td></tr></table></figure><p> 修改密码，新密码为123456</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">set PASSWORD =PASSWORD('123456');</span><br></pre></td></tr></table></figure><p>再次执行show databases;就正常了。</p><h3 id="安装时忘记密码"><a href="#安装时忘记密码" class="headerlink" title="安装时忘记密码"></a>安装时忘记密码</h3><blockquote><p>解决MAC下MySQL忘记初始密码的方法<br>很多人在在安装的过程中忽略了初始密码，导致安装成功之后无法登陆<br>不过只要大家注意安装过程中的提示，就不会再踩这个坑了😄</p></blockquote><h4 id="第一步"><a href="#第一步" class="headerlink" title="第一步"></a>第一步</h4><p>点击系统偏好设置-&gt;最下边点MySQL，在弹出页面中，关闭服务</p><h4 id="第二步"><a href="#第二步" class="headerlink" title="第二步"></a>第二步</h4><p>进入终端输入</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cd /usr/local/mysql/bin/</span><br></pre></td></tr></table></figure><p>回车后 登录管理员权限</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo su</span><br></pre></td></tr></table></figure><p>回车后输入以下命令来禁止mysql验证功能</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">./mysqld_safe --skip-grant-tables &amp;</span><br></pre></td></tr></table></figure><p>回车后mysql会自动重启（偏好设置中mysql的状态会变成running）</p><h4 id="第三步"><a href="#第三步" class="headerlink" title="第三步"></a>第三步</h4><p>输入命令</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">./mysql</span><br></pre></td></tr></table></figure><p>回车后，输入命令</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">FLUSH PRIVILEGES</span><br></pre></td></tr></table></figure><p>回车后，输入命令</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码');</span><br></pre></td></tr></table></figure><p>OK，可以了，新密码设置成功！！！</p><h3 id="安装MySQL-Workbench"><a href="#安装MySQL-Workbench" class="headerlink" title="安装MySQL Workbench"></a>安装MySQL Workbench</h3><blockquote><p>MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQL Workbench设计和创建新的数据库图示，建立数据库文档，以及进行复杂的MySQL 迁移。</p></blockquote><h4 id="下载最新的MySQL-Workbench"><a href="#下载最新的MySQL-Workbench" class="headerlink" title="下载最新的MySQL Workbench"></a>下载<a href="http://dev.mysql.com/downloads/workbench/" target="_blank" rel="noopener">最新的MySQL Workbench</a></h4><h4 id="安装MySQL-Workbench-1"><a href="#安装MySQL-Workbench-1" class="headerlink" title="安装MySQL Workbench"></a>安装MySQL Workbench</h4><p>双击mysql-workbench-community-8.0.15-macos-x86_64.dmg 打开</p><p>把程序拖到文件夹，安装安装完成。</p><p>安装之后打开</p><h4 id="启动MySQL-Workbench"><a href="#启动MySQL-Workbench" class="headerlink" title="启动MySQL Workbench"></a>启动MySQL Workbench</h4><p>新版本直接打开就回看到之前连接好的数据库，直接打开验证密码就可以连接了。</p><p><img src="/2019/02/26/Mac安装MySQL数据库/图形化打开.png" alt="图形化打开"></p><blockquote><p>旧版本的需要添加一个数据库，如图下图</p></blockquote><p>点击左上方的加号新建一个与数据库服务的连接</p><p><img src="/2019/02/26/Mac安装MySQL数据库/添加数据库.png" alt="添加数据库"></p><p>填写完信息之后，点击<code>Test Connection</code></p><p>若出错，则我需要检查下：</p><ol><li>MySQL服务是否打开<br> 在<code>System Preferences</code>中和<code>Terminal</code>查看。上面均有提到。</li><li>端口号是否一致<br> 在<code>Terminal</code>中进入MySQL</li></ol><p>输入命令：</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">show global variables like 'port';</span><br><span class="line">//显示服务端口号</span><br></pre></td></tr></table></figure><p><img src="/2019/02/26/Mac安装MySQL数据库/添加失败查看端口.png" alt="添加失败查看端口"></p><p>将显示的端口号填入，点击</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Test Connection</span><br></pre></td></tr></table></figure><p>显示successful之后点击<code>OK</code>,则创建成功</p><p>点击创建的连接，进入管理界面</p><p><img src="/2019/02/26/Mac安装MySQL数据库/界面.png" alt="界面"></p><p>则安装和配置就完成(≧▽≦)/~啦啦啦</p><h3 id="常用代码"><a href="#常用代码" class="headerlink" title="常用代码"></a>常用代码</h3><h4 id="安装连接"><a href="#安装连接" class="headerlink" title="安装连接"></a>安装连接</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">//为MySQL附加bin路径</span><br><span class="line">PATH="$PATH":/usr/local/mysql/bin</span><br><span class="line">//通过命令输入密码进入数据库</span><br><span class="line">mysql -u root -p</span><br><span class="line">//创建账号</span><br><span class="line">/usr/local/mysql/bin/mysqladmin -u root password 密码</span><br><span class="line">//测试mysql登陆</span><br><span class="line">/usr/local/mysql/bin/mysql -u root -p </span><br><span class="line">//显示服务端口号</span><br><span class="line">show global variables like 'port';</span><br></pre></td></tr></table></figure><h4 id="完全卸载"><a href="#完全卸载" class="headerlink" title="完全卸载"></a>完全卸载</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">sudo rm /usr/local/mysql</span><br><span class="line">sudo rm -rf /usr/local/mysql*</span><br><span class="line">sudo rm -rf /Library/StartupItems/MySQLCOM</span><br><span class="line">sudo rm -rf /Library/PreferencePanes/My*</span><br><span class="line">edit /etc/hostconfig and remove the line MYSQLCOM=-YES-</span><br><span class="line">rm -rf ~/Library/PreferencePanes/My*</span><br><span class="line">sudo rm -rf /Library/Recipts/mysql*</span><br><span class="line">sudo rm -rf /Library/Receipts/MySQL*</span><br><span class="line">sudo rm -rf /private/var/db/receipts/*mysql*</span><br></pre></td></tr></table></figure><h4 id="终端命令启动或关闭"><a href="#终端命令启动或关闭" class="headerlink" title="终端命令启动或关闭"></a>终端命令启动或关闭</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">// 启动：</span><br><span class="line">sudo /usr/local/mysql/support-files/mysql.server start</span><br><span class="line">// 关闭</span><br><span class="line">sudo /usr/local/mysql/support-files/mysql.server stop</span><br></pre></td></tr></table></figure><h4 id="进入或退出mysql"><a href="#进入或退出mysql" class="headerlink" title="进入或退出mysql"></a>进入或退出mysql</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">// 进入mysql（要求输入mysql登录密码）</span><br><span class="line">mysql -u root -p</span><br><span class="line">// 退出mysql</span><br><span class="line">exit</span><br></pre></td></tr></table></figure>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h1 id=&quot;Mac安装MySQL数据库及可视化界面&quot;&gt;&lt;a href=&quot;#Mac安装MySQL数据库及可视化界面&quot; class=&quot;headerlink&quot; title=&quot;Mac安装MySQL数据库及可视化界面&quot;&gt;&lt;/a&gt;Mac安装MySQL数据库及可视化界面&lt;/h1&gt;&lt;h3 i
      
    
    </summary>
    
      <category term="数据库" scheme="https://blog.orghub.cn/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
    
    
      <category term="数据库" scheme="https://blog.orghub.cn/tags/%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
    
      <category term="MySQL" scheme="https://blog.orghub.cn/tags/MySQL/"/>
    
  </entry>
  
  <entry>
    <title>Java自学的经典题型总结</title>
    <link href="https://blog.orghub.cn/2019/02/20/Java/"/>
    <id>https://blog.orghub.cn/2019/02/20/Java/</id>
    <published>2019-02-20T05:27:09.000Z</published>
    <updated>2019-02-20T10:02:59.185Z</updated>
    
    <content type="html"><![CDATA[<h2 id="Java自学的经典题型总结"><a href="#Java自学的经典题型总结" class="headerlink" title="Java自学的经典题型总结"></a>Java自学的经典题型总结</h2><h2 id="经典题型"><a href="#经典题型" class="headerlink" title="经典题型"></a>经典题型</h2><blockquote><p>1.Hello Word</p><p>2.嵌套循环问题</p><p>3.定义一个类求圆的面积和周长</p><p>4.计算两点间的距离</p><p>5.定义一个类并打印其姓名和年龄</p><p>6.构造与重载定义个人信息</p><p>7.十进制对二进制八进制十六进制的转换</p><p>8.随机生成问题</p><p>9.数组的使用</p></blockquote><h3 id="Hello-Word"><a href="#Hello-Word" class="headerlink" title="Hello Word"></a>Hello Word</h3><ul><li>程序猿的第一个程序</li></ul><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">HelloWord</span> </span>&#123;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">main</span><span class="params">(String[] args)</span> </span>&#123;</span><br><span class="line">System.out.println(<span class="string">"Hello Word!!"</span>);</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="嵌套循环问题"><a href="#嵌套循环问题" class="headerlink" title="嵌套循环问题"></a>嵌套循环问题</h3><ul><li>生成一个九九乘法表</li></ul><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">package</span> 循环<span class="keyword">for</span>嵌套;</span><br><span class="line"></span><br><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">ForFor</span> </span>&#123;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">main</span><span class="params">(String[] arge)</span> </span>&#123;</span><br><span class="line"><span class="keyword">int</span> sum = <span class="number">0</span>;</span><br><span class="line"><span class="keyword">for</span>(<span class="keyword">int</span> i = <span class="number">1</span> ;i &lt;= <span class="number">9</span> ;i++) &#123;</span><br><span class="line"><span class="keyword">for</span>(<span class="keyword">int</span> j = <span class="number">1</span>;j &lt;= i ;j++) &#123;</span><br><span class="line">sum = i * j;</span><br><span class="line">System.out.print(i + <span class="string">"*"</span> + j + <span class="string">"="</span> + sum + <span class="string">"\t"</span>);</span><br><span class="line">&#125;</span><br><span class="line">System.out.println();</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="定义一个圆类Circle"><a href="#定义一个圆类Circle" class="headerlink" title="定义一个圆类Circle"></a>定义一个圆类Circle</h3><ul><li>定义一个圆类——Circle.</li><li>在类的内部提供一个属性：半径(r).</li><li>同时 提供 两个 方法 ： 计算 面积 (getArea()) 和 计算 周长(getPerimeter()) 。 </li><li>通过两个方法计算圆的周长和面积并且对计算结果进行输出。</li><li>最后定义一个测试类对 Circle 类进行使用。</li></ul><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">package</span> 编码题<span class="number">2</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">import</span> java.util.Scanner;</span><br><span class="line"></span><br><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment"> * 定义一个圆类——Circle.</span></span><br><span class="line"><span class="comment"> * 在类的内部提供一个属性：半径(r).</span></span><br><span class="line"><span class="comment"> * 同时 提供 两个 方法 ： 计算 面积 (getArea()) 和 计算 周长(getPerimeter()) 。 </span></span><br><span class="line"><span class="comment"> * 通过两个方法计算圆的周长和面积并且对计算结果进行输出。</span></span><br><span class="line"><span class="comment"> * 最后定义一个测试类对 Circle 类进行使用。</span></span><br><span class="line"><span class="comment"> * <span class="doctag">@author</span> pc-mac</span></span><br><span class="line"><span class="comment"> *</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">Circle</span> </span>&#123;</span><br><span class="line"><span class="keyword">double</span> r;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">main</span><span class="params">(String[] args)</span> </span>&#123;</span><br><span class="line">Circle n1 = <span class="keyword">new</span> Circle();</span><br><span class="line"></span><br><span class="line">System.out.println(<span class="string">"###请输入圆的半径###"</span>);</span><br><span class="line">Scanner n = <span class="keyword">new</span> Scanner(System.in);</span><br><span class="line"><span class="keyword">int</span> rString = n.nextInt();</span><br><span class="line"></span><br><span class="line"> n1.getArea(rString);</span><br><span class="line"> n1.getPerimeter(rString);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">getArea</span><span class="params">(<span class="keyword">double</span> r)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.r = r;</span><br><span class="line"></span><br><span class="line">System.out.println(<span class="string">"面积是："</span> + Math.PI*r*r);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">getPerimeter</span><span class="params">(<span class="keyword">double</span> r)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.r = r;</span><br><span class="line"></span><br><span class="line">System.out.println(<span class="string">"周长是："</span> + Math.PI*r*<span class="number">2</span>);</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="计算两点之间的距离"><a href="#计算两点之间的距离" class="headerlink" title="计算两点之间的距离"></a>计算两点之间的距离</h3><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">package</span> 方法的构造;</span><br><span class="line"></span><br><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">TestConstructor</span> </span>&#123;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">main</span><span class="params">(String[] args)</span> </span>&#123;</span><br><span class="line">point p = <span class="keyword">new</span> point(<span class="number">3.0</span>,<span class="number">4.0</span>);</span><br><span class="line">point p2 = <span class="keyword">new</span> point(<span class="number">6.0</span>,<span class="number">8.0</span>);</span><br><span class="line">point or = <span class="keyword">new</span>  point(<span class="number">0</span>,<span class="number">0</span>);</span><br><span class="line"></span><br><span class="line">System.out.println(p.getDistance(or));</span><br><span class="line">System.out.println(p2.getDistance(or));</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="class"><span class="keyword">class</span> <span class="title">point</span></span>&#123;</span><br><span class="line"></span><br><span class="line"><span class="comment">//构造函数</span></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="title">point</span> <span class="params">(<span class="keyword">double</span> _x,<span class="keyword">double</span> _y)</span></span>&#123;</span><br><span class="line">x = _x;</span><br><span class="line">y = _y;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment">//属性</span></span><br><span class="line"><span class="keyword">double</span> x,y;</span><br><span class="line"></span><br><span class="line"><span class="comment">//方法</span></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">double</span> <span class="title">getDistance</span><span class="params">(point p)</span> </span>&#123;</span><br><span class="line"><span class="keyword">return</span>(Math.sqrt((x-p.x)*(x-p.x)+(y-p.x)*(y-p.y)));</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><ul><li>此方法要注意的是在<code>public double getDistance(point p)</code>的方法中，传入的是point对象的值，所以在定义的时候直接定义了三个<code>p;p2;or</code>目的是方便调用</li></ul><h3 id="定义一个类并打印其姓名和年龄"><a href="#定义一个类并打印其姓名和年龄" class="headerlink" title="定义一个类并打印其姓名和年龄"></a>定义一个类并打印其姓名和年龄</h3><ul><li>编写 Java 程序,用于显示人的姓名和年龄。</li><li>定义一个人类Person。 </li><li>该类中应该有两个私有属性： 姓名 (name) 和年龄 (age) 。</li><li>定义构造方法用来初始化数据成员。</li><li>再定义显示(display()) 方法将姓名和年龄打印出来。</li><li>在 main 方法中创建人类的实例然后将信息显示。</li></ul><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">package</span> 编码题<span class="number">1</span>;</span><br><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment"> * 编写 Java 程序,用于显示人的姓名和年龄。</span></span><br><span class="line"><span class="comment"> * 定义一个人类Person。 </span></span><br><span class="line"><span class="comment"> * 该类中应该有两个私有属性： 姓名 (name) 和年龄 (age) 。</span></span><br><span class="line"><span class="comment"> * 定义构造方法用来初始化数据成员。</span></span><br><span class="line"><span class="comment"> * 再定义显示(display()) 方法将姓名和年龄打印出来。</span></span><br><span class="line"><span class="comment"> * 在 main 方法中创建人类的实例然后将信息显示。</span></span><br><span class="line"><span class="comment"> * <span class="doctag">@author</span> pc-mac</span></span><br><span class="line"><span class="comment"> *</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">Person</span> </span>&#123;</span><br><span class="line"><span class="keyword">private</span> String name;</span><br><span class="line"><span class="keyword">private</span> <span class="keyword">int</span> age;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">main</span><span class="params">(String[] args)</span> </span>&#123;</span><br><span class="line">Person n1 = <span class="keyword">new</span> Person(<span class="string">"零分"</span>,<span class="number">20</span>);</span><br><span class="line">n1.disPlay();</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="title">Person</span><span class="params">(String name,<span class="keyword">int</span> age)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.name = name;</span><br><span class="line"><span class="keyword">this</span>.age = age;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">disPlay</span><span class="params">()</span> </span>&#123;</span><br><span class="line">System.out.println(name);</span><br><span class="line">System.out.println(age);</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="构造与重载定义个人信息"><a href="#构造与重载定义个人信息" class="headerlink" title="构造与重载定义个人信息"></a>构造与重载定义个人信息</h3><ul><li>构造方法与重载：<ul><li>定义一个网络用户类，信息有用户 ID、用户密码、 email 地址。</li><li>在建立类的实例时把以上三个信息都作为构造函数的参数输入。</li><li>其中用户 ID 和用户密码时必须缺省时，email地址是用户 ID 加上字符串”@qq.com”。</li></ul></li></ul><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">package</span> 编码题<span class="number">3</span>;</span><br><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment"> *  构造方法与重载：</span></span><br><span class="line"><span class="comment"> *  定义一个网络用户类，信息有用户 ID、用户密码、 email 地址。</span></span><br><span class="line"><span class="comment"> *  在建立类的实例时把以上三个信息都作为构造函数的参数输入。</span></span><br><span class="line"><span class="comment"> *  其中用户 ID 和用户密码时必须缺省时，email地址是用户 ID 加上字符串"<span class="doctag">@qq</span>.com"。</span></span><br><span class="line"><span class="comment"> * <span class="doctag">@author</span> pc-mac</span></span><br><span class="line"><span class="comment"> *</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">User</span> </span>&#123;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">main</span><span class="params">(String[] args)</span> </span>&#123;</span><br><span class="line"><span class="comment">//NetUser n1 = new NetUser(1001,"123654");//不能这么写</span></span><br><span class="line">NetUser n1 = <span class="keyword">new</span> NetUser();</span><br><span class="line">n1.id = <span class="number">1001</span>;</span><br><span class="line">n1.pwd = <span class="string">"123456"</span>;</span><br><span class="line">NetUser n2 = <span class="keyword">new</span> NetUser(<span class="number">1003</span>, <span class="string">"654321"</span>, <span class="string">"952339610@qq.com"</span>);</span><br><span class="line">NetUser n3 = <span class="keyword">new</span> NetUser(<span class="number">1002</span>, <span class="string">"654789"</span>);</span><br><span class="line"></span><br><span class="line">n1.disPlay();</span><br><span class="line">n3.disPlay();</span><br><span class="line">System.out.printf(<span class="string">"用户为：%d的密码是:%s,邮箱是:%s\n"</span>,n2.id,n2.pwd,n2.email);</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="class"><span class="keyword">class</span> <span class="title">People</span></span>&#123;</span><br><span class="line"><span class="keyword">int</span> id;</span><br><span class="line">String pwd;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="class"><span class="keyword">class</span> <span class="title">NetUser</span> <span class="keyword">extends</span> <span class="title">People</span></span>&#123;</span><br><span class="line">String email;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="title">NetUser</span><span class="params">(<span class="keyword">int</span> id,String pwd)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.id = id;</span><br><span class="line"><span class="keyword">this</span>.pwd = pwd;</span><br><span class="line"><span class="keyword">this</span>.email = id + <span class="string">"@qq.com"</span>;</span><br><span class="line"></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="title">NetUser</span><span class="params">(<span class="keyword">int</span> id,String pwd,String email)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.id = id;</span><br><span class="line"><span class="keyword">this</span>.pwd = pwd;</span><br><span class="line"><span class="keyword">this</span>.email = email;</span><br><span class="line"></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="title">NetUser</span><span class="params">()</span> </span>&#123;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">disPlay</span><span class="params">()</span> </span>&#123;</span><br><span class="line">System.out.println(<span class="string">"用户名:"</span> + id + <span class="string">"密码是:"</span> + <span class="string">"邮箱是:"</span> + email);</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="进制转换"><a href="#进制转换" class="headerlink" title="进制转换"></a>进制转换</h3><ul><li>十进制转换<ul><li>转换成二进制</li><li>转换成八进制</li><li>转换成十六进制</li></ul></li></ul><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">package</span> 编码题<span class="number">4</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">import</span> java.util.Scanner;</span><br><span class="line"></span><br><span class="line"><span class="comment">/**</span></span><br><span class="line"><span class="comment"> * 十进制转换</span></span><br><span class="line"><span class="comment"> * 转换成二进制</span></span><br><span class="line"><span class="comment"> * 转换成八进制</span></span><br><span class="line"><span class="comment"> * 转换成十六进制</span></span><br><span class="line"><span class="comment"> * <span class="doctag">@author</span> pc-mac</span></span><br><span class="line"><span class="comment"> *</span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">TestSwap</span> </span>&#123;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">main</span><span class="params">(String[] args)</span> </span>&#123;</span><br><span class="line">System.out.println(<span class="string">"请输入一个数进行转换:"</span>);</span><br><span class="line">Scanner nScanner = <span class="keyword">new</span> Scanner(System.in);</span><br><span class="line"></span><br><span class="line">Swap nSwap = <span class="keyword">new</span> Swap();</span><br><span class="line"><span class="keyword">int</span> x = nScanner.nextInt();</span><br><span class="line"></span><br><span class="line">nSwap.two(x);</span><br><span class="line">nSwap.eight(x);</span><br><span class="line">nSwap.tensix(x);</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="class"><span class="keyword">class</span> <span class="title">Swap</span></span>&#123;</span><br><span class="line"><span class="keyword">int</span> n;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">two</span><span class="params">(<span class="keyword">int</span> n)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.n = n;</span><br><span class="line"><span class="keyword">int</span> k = <span class="number">1</span>,sum = <span class="number">0</span>,y;</span><br><span class="line"></span><br><span class="line"><span class="keyword">while</span> (n != <span class="number">0</span>) &#123;</span><br><span class="line">y = n % <span class="number">2</span>;</span><br><span class="line">n = n / <span class="number">2</span>;</span><br><span class="line">sum += y*k;</span><br><span class="line">k *= <span class="number">10</span>;</span><br><span class="line">&#125;</span><br><span class="line">System.out.println(sum);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">eight</span><span class="params">(<span class="keyword">int</span> n)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.n = n;</span><br><span class="line"><span class="keyword">int</span> k = <span class="number">1</span>,sum = <span class="number">0</span>,y;</span><br><span class="line"></span><br><span class="line"><span class="keyword">while</span> (n != <span class="number">0</span>) &#123;</span><br><span class="line">y = n % <span class="number">8</span>;</span><br><span class="line">n = n / <span class="number">8</span>;</span><br><span class="line">sum += y*k;</span><br><span class="line">k *= <span class="number">10</span>;</span><br><span class="line">&#125;</span><br><span class="line">System.out.println(sum);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">tensix</span><span class="params">(<span class="keyword">int</span> n)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.n = n;</span><br><span class="line"><span class="keyword">int</span> i = <span class="number">0</span>,k;</span><br><span class="line"><span class="keyword">int</span>[] a = <span class="keyword">new</span> <span class="keyword">int</span>[<span class="number">10</span>];</span><br><span class="line"><span class="keyword">char</span> count[] = &#123;<span class="string">'0'</span>,<span class="string">'1'</span>,<span class="string">'2'</span>,<span class="string">'3'</span>,<span class="string">'4'</span>,<span class="string">'5'</span>,<span class="string">'6'</span>,<span class="string">'7'</span>,<span class="string">'8'</span>,<span class="string">'9'</span>,<span class="string">'A'</span>,<span class="string">'B'</span>,<span class="string">'C'</span>,<span class="string">'D'</span>,<span class="string">'E'</span>,<span class="string">'F'</span>&#125;;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">while</span>(n != <span class="number">0</span>)&#123;</span><br><span class="line">    a[i++] = n % <span class="number">16</span>;</span><br><span class="line">        n = n / <span class="number">16</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">for</span> (<span class="keyword">int</span> j = a.length-<span class="number">1</span> ; j &gt;= <span class="number">0</span> ; j--) &#123;</span><br><span class="line">k = a[j];</span><br><span class="line">System.out.printf(<span class="string">"%c"</span>,count[k]);</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="随机生成月份"><a href="#随机生成月份" class="headerlink" title="随机生成月份"></a>随机生成月份</h3><ul><li>随机生成月份和字母并且判断是不是原因字母</li></ul><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">Switch</span> </span>&#123;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">main</span><span class="params">(String[] arge)</span> </span>&#123;</span><br><span class="line"><span class="keyword">int</span> month = (<span class="keyword">int</span>)(<span class="number">1</span>+<span class="number">12</span>*Math.random());</span><br><span class="line">System.out.println(month);</span><br><span class="line"><span class="keyword">switch</span> (month) &#123;</span><br><span class="line"><span class="keyword">case</span> <span class="number">1</span>:</span><br><span class="line">System.out.println(<span class="string">"一月份"</span>);</span><br><span class="line"><span class="keyword">break</span>;</span><br><span class="line"><span class="keyword">case</span> <span class="number">2</span>:</span><br><span class="line">System.out.println(<span class="string">"二月份"</span>);</span><br><span class="line"><span class="keyword">break</span>;</span><br><span class="line"><span class="keyword">case</span> <span class="number">3</span>:</span><br><span class="line">System.out.println(<span class="string">"三月份"</span>);</span><br><span class="line"><span class="keyword">break</span>;</span><br><span class="line"><span class="keyword">case</span> <span class="number">4</span>:</span><br><span class="line">System.out.println(<span class="string">"四月份"</span>);</span><br><span class="line"><span class="keyword">break</span>;</span><br><span class="line"><span class="keyword">case</span> <span class="number">5</span>:</span><br><span class="line">System.out.println(<span class="string">"五月份"</span>);</span><br><span class="line"><span class="keyword">break</span>;</span><br><span class="line"><span class="keyword">case</span> <span class="number">6</span>:</span><br><span class="line">System.out.println(<span class="string">"六月份"</span>);</span><br><span class="line"><span class="keyword">break</span>;</span><br><span class="line"><span class="keyword">default</span>:</span><br><span class="line">System.out.println(<span class="string">"不是一二三四五六月份"</span>);</span><br><span class="line"><span class="keyword">break</span>;</span><br><span class="line">&#125;</span><br><span class="line">System.out.println(<span class="string">"*************"</span>);</span><br><span class="line"><span class="keyword">char</span> a = <span class="string">'a'</span>;</span><br><span class="line"><span class="keyword">int</span> rand = (<span class="keyword">int</span>) (<span class="number">25</span>*Math.random());</span><br><span class="line"><span class="keyword">char</span> a1 = (<span class="keyword">char</span>) (a + rand);</span><br><span class="line">System.out.print(a1 + <span class="string">":"</span>);</span><br><span class="line"><span class="keyword">switch</span> (a1) &#123;</span><br><span class="line"><span class="keyword">case</span> <span class="string">'a'</span>:</span><br><span class="line"><span class="keyword">case</span> <span class="string">'e'</span>:</span><br><span class="line"><span class="keyword">case</span> <span class="string">'i'</span>:</span><br><span class="line"><span class="keyword">case</span> <span class="string">'o'</span>:</span><br><span class="line"><span class="keyword">case</span> <span class="string">'u'</span>:</span><br><span class="line">System.out.println(<span class="string">"这是元音字母！"</span>);</span><br><span class="line"><span class="keyword">break</span>;</span><br><span class="line"><span class="keyword">default</span>:</span><br><span class="line">System.out.println(<span class="string">"这不是元音字母！"</span>);</span><br><span class="line"><span class="keyword">break</span>;</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="数组的使用"><a href="#数组的使用" class="headerlink" title="数组的使用"></a>数组的使用</h3><ul><li>创建一个类包括ID 和 Name</li><li>利用数组建立三个对象</li></ul><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">package</span> 数组的使用;</span><br><span class="line"></span><br><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">Arrary</span> </span>&#123;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">main</span><span class="params">(String[] args)</span> </span>&#123;</span><br><span class="line"><span class="keyword">int</span>[] arr1 = <span class="keyword">new</span> <span class="keyword">int</span>[<span class="number">10</span>];</span><br><span class="line">String[] arr2 = <span class="keyword">new</span> String[<span class="number">10</span>];</span><br><span class="line"></span><br><span class="line"><span class="keyword">for</span> (<span class="keyword">int</span> i = <span class="number">0</span>; i &lt; arr1.length; i++) &#123;<span class="comment">//在这里 arr1.length == 10</span></span><br><span class="line">arr1[i] = <span class="number">10</span>*i;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">for</span> (<span class="keyword">int</span> i = <span class="number">0</span>; i &lt; arr1.length; i++) &#123;</span><br><span class="line">System.out.println(arr1[i]);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">User[] arr3 = <span class="keyword">new</span> User[<span class="number">10</span>];</span><br><span class="line">arr3[<span class="number">0</span>] = <span class="keyword">new</span> User(<span class="number">1001</span>, <span class="string">"零分"</span>);</span><br><span class="line">arr3[<span class="number">1</span>] = <span class="keyword">new</span> User(<span class="number">1002</span>, <span class="string">"满分"</span>);</span><br><span class="line">arr3[<span class="number">2</span>] = <span class="keyword">new</span> User(<span class="number">1003</span>, <span class="string">"没分"</span>);</span><br><span class="line"></span><br><span class="line"><span class="keyword">for</span> (<span class="keyword">int</span> i = <span class="number">0</span>; i &lt; arr3.length; i++) &#123;</span><br><span class="line">System.out.println(arr3[i].getName());</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="class"><span class="keyword">class</span> <span class="title">User</span></span>&#123;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="title">User</span><span class="params">(<span class="keyword">int</span> id,String name)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.id = id;</span><br><span class="line"><span class="keyword">this</span>.name = name;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">private</span> <span class="keyword">int</span> id;</span><br><span class="line"><span class="keyword">private</span> String name;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">int</span> <span class="title">getId</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="keyword">return</span> id;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">setId</span><span class="params">(<span class="keyword">int</span> id)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.id = id;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> String <span class="title">getName</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="keyword">return</span> name;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">setName</span><span class="params">(String name)</span> </span>&#123;</span><br><span class="line"><span class="keyword">this</span>.name = name;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h2 id=&quot;Java自学的经典题型总结&quot;&gt;&lt;a href=&quot;#Java自学的经典题型总结&quot; class=&quot;headerlink&quot; title=&quot;Java自学的经典题型总结&quot;&gt;&lt;/a&gt;Java自学的经典题型总结&lt;/h2&gt;&lt;h2 id=&quot;经典题型&quot;&gt;&lt;a href=&quot;#经典题型&quot;
      
    
    </summary>
    
      <category term="Java" scheme="https://blog.orghub.cn/categories/Java/"/>
    
    
      <category term="Java" scheme="https://blog.orghub.cn/tags/Java/"/>
    
      <category term="自学" scheme="https://blog.orghub.cn/tags/%E8%87%AA%E5%AD%A6/"/>
    
      <category term="心得" scheme="https://blog.orghub.cn/tags/%E5%BF%83%E5%BE%97/"/>
    
      <category term="总结" scheme="https://blog.orghub.cn/tags/%E6%80%BB%E7%BB%93/"/>
    
      <category term="经验" scheme="https://blog.orghub.cn/tags/%E7%BB%8F%E9%AA%8C/"/>
    
      <category term="期末" scheme="https://blog.orghub.cn/tags/%E6%9C%9F%E6%9C%AB/"/>
    
  </entry>
  
  <entry>
    <title>数据结构期末总结</title>
    <link href="https://blog.orghub.cn/2019/02/10/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E6%9C%9F%E6%9C%AB%E6%80%BB%E7%BB%93/"/>
    <id>https://blog.orghub.cn/2019/02/10/数据结构期末总结/</id>
    <published>2019-02-10T07:55:33.000Z</published>
    <updated>2019-02-10T13:33:44.566Z</updated>
    
    <content type="html"><![CDATA[<p><img src="/2019/02/10/数据结构期末总结/0.png" alt="0"></p><h1 id="数据结构重点分析及期末总结"><a href="#数据结构重点分析及期末总结" class="headerlink" title="数据结构重点分析及期末总结"></a>数据结构重点分析及期末总结</h1><ul><li>零分(网络ID)是某师范大学，计科专业的一名屌丝，针对数据结构一科目的期末算法编程考试总结了如下几个算法。</li></ul><h2 id="重点分析"><a href="#重点分析" class="headerlink" title="重点分析"></a>重点分析</h2><blockquote><p>简单题型</p><p>栈</p><p>队列</p><p>树</p><p>排序</p></blockquote><h3 id="简单题型"><a href="#简单题型" class="headerlink" title="简单题型"></a>简单题型</h3><p>往下翻……………</p><h3 id="栈"><a href="#栈" class="headerlink" title="栈"></a>栈</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="meta-keyword">include</span> <span class="meta-string">&lt;iostream&gt;</span></span></span><br><span class="line"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="built_in">std</span>;</span><br><span class="line"><span class="keyword">const</span> <span class="keyword">int</span> stackmax=<span class="number">100</span>;<span class="comment">//c初始值分配量</span></span><br><span class="line"><span class="keyword">typedef</span> <span class="keyword">char</span> st;</span><br><span class="line"><span class="keyword">typedef</span> <span class="class"><span class="keyword">struct</span>&#123;</span></span><br><span class="line">    <span class="keyword">char</span> *base;</span><br><span class="line">    <span class="keyword">char</span> *top;</span><br><span class="line">    <span class="keyword">int</span> stacksize;</span><br><span class="line">&#125;<span class="built_in">stack</span>;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">initstack</span><span class="params">(<span class="built_in">stack</span> &amp;s)</span></span>&#123;<span class="comment">//初始化</span></span><br><span class="line">    s.base=<span class="keyword">new</span> st[stackmax];<span class="comment">//为顺序栈动态分配d一个最大容量为stachkmax的数组空间</span></span><br><span class="line">    <span class="keyword">if</span> (!s.base) &#123;</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;<span class="comment">//储存分配空间失败</span></span><br><span class="line">    &#125;</span><br><span class="line">    s.top=s.base;<span class="comment">//top初始为base，空栈</span></span><br><span class="line">    s.stacksize=stackmax;<span class="comment">//置为栈的最大容量</span></span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">putstack</span><span class="params">(<span class="built_in">stack</span> &amp;s,<span class="keyword">char</span> e)</span></span>&#123;<span class="comment">//入栈</span></span><br><span class="line">    <span class="keyword">if</span>(s.top-s.base==s.stacksize)&#123;<span class="comment">//当相等时为满栈</span></span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;<span class="string">"满栈"</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    *s.top=e;<span class="comment">//元素e压入栈顶</span></span><br><span class="line">    s.top++;<span class="comment">//栈顶指针+1</span></span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">char</span> <span class="title">gettop</span><span class="params">(<span class="built_in">stack</span> s)</span></span>&#123;</span><br><span class="line">    <span class="keyword">if</span>(s.top!=s.base)</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;*(s.top<span class="number">-1</span>);<span class="comment">//取q栈顶指针</span></span><br><span class="line">    <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">outstack</span><span class="params">(<span class="built_in">stack</span> &amp;s,<span class="keyword">int</span> e)</span></span>&#123;</span><br><span class="line">    <span class="keyword">if</span> (s.top==s.base) &#123;</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    e=*--s.top;<span class="comment">//将d栈顶元素给e向下移一位</span></span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">void</span> <span class="title">disp</span><span class="params">(<span class="built_in">stack</span> s)</span></span>&#123;</span><br><span class="line">    <span class="keyword">long</span> <span class="keyword">int</span> i;</span><br><span class="line">    <span class="keyword">for</span>(i=<span class="number">0</span>;i&lt;s.top-s.base;i++)&#123;</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;s.base[i];</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">main</span><span class="params">()</span></span>&#123;</span><br><span class="line">    <span class="keyword">char</span> e;</span><br><span class="line">    <span class="built_in">stack</span> s;</span><br><span class="line">    initstack(s);</span><br><span class="line">    putstack(s,<span class="string">'A'</span>);</span><br><span class="line">    putstack(s,<span class="string">'B'</span>);</span><br><span class="line">    putstack(s,<span class="string">'C'</span>);</span><br><span class="line">    putstack(s,<span class="string">'D'</span>);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"栈S为："</span>;</span><br><span class="line">    disp(s);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"栈顶元素为："</span>;</span><br><span class="line">    e=gettop(s);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;e&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    outstack(s,e);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"栈顶出栈后的S："</span>;</span><br><span class="line">    disp(s);</span><br><span class="line">    <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><img src="/2019/02/10/数据结构期末总结/6栈.png" alt="6栈"></p><h3 id="队列"><a href="#队列" class="headerlink" title="队列"></a>队列</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="meta-keyword">include</span><span class="meta-string">&lt;iostream&gt;</span></span></span><br><span class="line"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="built_in">std</span>;</span><br><span class="line"><span class="keyword">const</span> <span class="keyword">int</span>  MAXQSIZE=<span class="number">6</span>;</span><br><span class="line"><span class="keyword">typedef</span> <span class="keyword">char</span> QElemType;</span><br><span class="line"></span><br><span class="line"><span class="keyword">typedef</span>  <span class="class"><span class="keyword">struct</span></span></span><br><span class="line"><span class="class">&#123;</span></span><br><span class="line">    QElemType *base;</span><br><span class="line">    <span class="keyword">int</span> front ;</span><br><span class="line">    <span class="keyword">int</span> rear;</span><br><span class="line">    </span><br><span class="line">&#125; SqQueue;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">InitQueue</span><span class="params">(SqQueue &amp;Q)</span></span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">    Q.base= <span class="keyword">new</span> QElemType[MAXQSIZE];</span><br><span class="line">    <span class="keyword">if</span>(!Q.base)</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    Q.front =Q.rear=<span class="number">0</span>;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">EnQueue</span><span class="params">( SqQueue &amp;Q,QElemType e)</span></span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">    <span class="keyword">if</span>((Q.rear+<span class="number">1</span>)%MAXQSIZE==Q.front)<span class="comment">//队满</span></span><br><span class="line">    &#123;</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;<span class="string">"错误"</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    </span><br><span class="line">    Q.base[Q.rear] =e;<span class="comment">//新元素插入队尾</span></span><br><span class="line">    Q.rear=(Q.rear+<span class="number">1</span>)%MAXQSIZE;<span class="comment">//队尾指针向后移动一位</span></span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">lengt</span><span class="params">(SqQueue &amp;Q)</span><span class="comment">//求队长度</span></span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">    <span class="keyword">return</span> (Q.rear-Q.front+MAXQSIZE)%MAXQSIZE;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">deleteQ</span><span class="params">(SqQueue &amp;Q,QElemType &amp;e)</span></span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">    <span class="keyword">if</span>(Q.rear==Q.front)<span class="comment">//队空</span></span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    e=Q.base[Q.front];<span class="comment">//保存对头元素</span></span><br><span class="line">    Q.front=(Q.front+<span class="number">1</span>)%MAXQSIZE;<span class="comment">//队头指针向后移动一位</span></span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">int</span>   <span class="title">DisQ</span><span class="params">(SqQueue Q)</span></span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">    <span class="keyword">int</span> m,i;</span><br><span class="line">    m=lengt(Q);</span><br><span class="line">    <span class="keyword">if</span>(m==<span class="number">0</span>)</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;<span class="string">"空队列"</span>;</span><br><span class="line">    <span class="keyword">if</span>((Q.rear+<span class="number">1</span>)%MAXQSIZE==Q.front)</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;<span class="string">"队满"</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    <span class="keyword">for</span>(i=Q.front; i%MAXQSIZE!=Q.rear;i++)</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;Q.base[i];</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">main</span><span class="params">()</span></span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">    SqQueue Q;</span><br><span class="line">    QElemType e;</span><br><span class="line">    InitQueue(Q);</span><br><span class="line">    DisQ(Q);</span><br><span class="line">    EnQueue(Q,<span class="string">'A'</span>);</span><br><span class="line">    EnQueue(Q,<span class="string">'B'</span>);</span><br><span class="line">    EnQueue(Q,<span class="string">'C'</span>);</span><br><span class="line">    EnQueue(Q,<span class="string">'D'</span>);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"长度="</span>;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;lengt(Q);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"队列为="</span>;</span><br><span class="line">    DisQ(Q);</span><br><span class="line">    deleteQ(Q,e);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"长度="</span>;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;lengt(Q);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"队列为="</span>;</span><br><span class="line">    DisQ(Q);</span><br><span class="line">    EnQueue(Q,<span class="string">'E'</span>);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"长度="</span>;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;lengt(Q);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"队列为="</span>;</span><br><span class="line">    DisQ(Q);</span><br><span class="line">    EnQueue(Q,<span class="string">'F'</span>);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"队列为="</span>;</span><br><span class="line">    DisQ(Q);</span><br><span class="line">    <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><img src="/2019/02/10/数据结构期末总结/7队列.png" alt="7队列"></p><h3 id="树"><a href="#树" class="headerlink" title="树"></a>树</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="meta-keyword">include</span> <span class="meta-string">&lt;stdlib.h&gt;</span></span></span><br><span class="line"><span class="meta">#<span class="meta-keyword">include</span> <span class="meta-string">&lt;iostream&gt;</span></span></span><br><span class="line"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="built_in">std</span>;</span><br><span class="line"><span class="keyword">typedef</span> <span class="keyword">int</span> InfoType;</span><br><span class="line"><span class="keyword">typedef</span> <span class="keyword">int</span> KeyType;            <span class="comment">//假定关键字类型为整数</span></span><br><span class="line"><span class="keyword">typedef</span> <span class="class"><span class="keyword">struct</span> <span class="title">node</span>                //结点类型</span></span><br><span class="line"><span class="class">&#123;</span></span><br><span class="line">    KeyType key;                <span class="comment">//关键字项</span></span><br><span class="line">    InfoType otherinfo;     <span class="comment">//其它数据域，InfoType视应用情况而定，下面不处理它</span></span><br><span class="line">    <span class="class"><span class="keyword">struct</span> <span class="title">node</span> *<span class="title">lchild</span>,*<span class="title">rchild</span>;</span>   <span class="comment">//左右孩子指针</span></span><br><span class="line">&#125;BSTNode;</span><br><span class="line"><span class="keyword">typedef</span>  BSTNode  *BSTree;        <span class="comment">//BSTree是二叉排序树的类型</span></span><br><span class="line"></span><br><span class="line"><span class="comment">//在二叉排序树T上查找关键字为key的结点，成功时返回该结点位置，否则返回NULL</span></span><br><span class="line"><span class="function">BSTNode *<span class="title">findbst</span><span class="params">(BSTree t,KeyType key)</span></span>&#123;</span><br><span class="line">    <span class="keyword">if</span>(t==<span class="literal">NULL</span>||key==t-&gt;key)</span><br><span class="line">        <span class="keyword">return</span> t;</span><br><span class="line">    <span class="keyword">if</span>(key&lt;t-&gt;key)</span><br><span class="line">        <span class="keyword">return</span> findbst(t-&gt;lchild,key);</span><br><span class="line">    <span class="keyword">else</span></span><br><span class="line">        <span class="keyword">return</span> findbst(t-&gt;rchild,key);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">void</span> <span class="title">InsertBST</span><span class="params">(BSTree *T,<span class="keyword">int</span> key)</span></span></span><br><span class="line"><span class="function"></span>&#123; <span class="comment">//插入一个值为key的节点到二叉排序树中</span></span><br><span class="line">    BSTNode *p,*q;</span><br><span class="line">    <span class="keyword">if</span>((*T)==<span class="literal">NULL</span>)</span><br><span class="line">    &#123; <span class="comment">//树为空树</span></span><br><span class="line">        (*T)=(BSTree)<span class="built_in">malloc</span>(<span class="keyword">sizeof</span>(BSTNode));</span><br><span class="line">        (*T)-&gt;key=key;</span><br><span class="line">        (*T)-&gt;lchild=(*T)-&gt;rchild=<span class="literal">NULL</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">else</span></span><br><span class="line">    &#123;</span><br><span class="line">        p=(*T);</span><br><span class="line">        <span class="keyword">while</span>(p)</span><br><span class="line">        &#123;</span><br><span class="line">            q=p;</span><br><span class="line">            <span class="keyword">if</span>(p-&gt;key&gt;key)</span><br><span class="line">                p=q-&gt;lchild;</span><br><span class="line">            <span class="keyword">else</span> <span class="keyword">if</span>(p-&gt;key&lt;key)</span><br><span class="line">                p=q-&gt;rchild;</span><br><span class="line">            <span class="keyword">else</span></span><br><span class="line">            &#123;</span><br><span class="line">                <span class="built_in">cout</span>&lt;&lt;<span class="built_in">endl</span>&lt;&lt;<span class="string">"该二叉排序树中含有关键字为"</span>&lt;&lt;key&lt;&lt;<span class="string">"的节点!"</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">                <span class="keyword">return</span>;</span><br><span class="line">            &#125;</span><br><span class="line">        &#125;</span><br><span class="line">        p=(BSTree)<span class="built_in">malloc</span>(<span class="keyword">sizeof</span>(BSTNode));</span><br><span class="line">        p-&gt;key=key;</span><br><span class="line">        p-&gt;lchild=p-&gt;rchild=<span class="literal">NULL</span>;</span><br><span class="line">        <span class="keyword">if</span>(q-&gt;key&gt;key)</span><br><span class="line">            q-&gt;lchild=p;</span><br><span class="line">        <span class="keyword">else</span></span><br><span class="line">            q-&gt;rchild=p;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function">BSTree <span class="title">CreateBST</span><span class="params">(<span class="keyword">void</span>)</span></span></span><br><span class="line"><span class="function"></span>&#123; <span class="comment">//输入一个结点序列，建立一棵二叉排序树，将根结点指针返回</span></span><br><span class="line">    BSTree T=<span class="literal">NULL</span>;    <span class="comment">//初始时T为空树</span></span><br><span class="line">    KeyType key;</span><br><span class="line">    <span class="built_in">cin</span>&gt;&gt;key;   <span class="comment">//读入一个关键字</span></span><br><span class="line">    <span class="keyword">while</span>(key)</span><br><span class="line">    &#123; <span class="comment">//假设key=0是输入结束标志</span></span><br><span class="line">        InsertBST(&amp;T,key);  <span class="comment">//将key插入二叉排序树T</span></span><br><span class="line">        <span class="built_in">cin</span>&gt;&gt;key;  <span class="comment">//读入下一关键字</span></span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">return</span> T;       <span class="comment">//返回建立的二叉排序树的根指针</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">void</span> <span class="title">ListBinTree</span><span class="params">(BSTree T)</span>   <span class="comment">//用广义表示二叉树</span></span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">    <span class="keyword">if</span>(T!=<span class="literal">NULL</span>)</span><br><span class="line">    &#123;</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;T-&gt;key;</span><br><span class="line">        <span class="keyword">if</span>(T-&gt;lchild!=<span class="literal">NULL</span>||T-&gt;rchild!=<span class="literal">NULL</span>)</span><br><span class="line">        &#123;</span><br><span class="line">            <span class="built_in">cout</span>&lt;&lt;<span class="string">"("</span>;</span><br><span class="line">            ListBinTree(T-&gt;lchild);</span><br><span class="line">            <span class="keyword">if</span>(T-&gt;rchild!=<span class="literal">NULL</span>)</span><br><span class="line">                <span class="built_in">cout</span>&lt;&lt;<span class="string">","</span>;</span><br><span class="line">            ListBinTree(T-&gt;rchild);</span><br><span class="line">            <span class="built_in">cout</span>&lt;&lt;<span class="string">")"</span>;</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">main</span><span class="params">()</span></span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">    <span class="function">BSTNode *<span class="title">findbst</span><span class="params">(BSTree t,KeyType key)</span></span>;</span><br><span class="line">    <span class="function"><span class="keyword">void</span> <span class="title">InsertBST</span><span class="params">(BSTree *Tptr,KeyType key)</span></span>;</span><br><span class="line">    <span class="function">BSTree <span class="title">CreateBST</span><span class="params">()</span></span>;</span><br><span class="line">    <span class="function"><span class="keyword">void</span> <span class="title">ListBinTree</span><span class="params">(BSTree T)</span></span>;</span><br><span class="line">    BSTree T;</span><br><span class="line">    BSTNode *p;</span><br><span class="line">    <span class="keyword">int</span> key;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"请输入关键字（输入0为结束标志）："</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    T=CreateBST();</span><br><span class="line">    ListBinTree(T);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"请输入欲查找关键字:"</span>;</span><br><span class="line">    <span class="built_in">cin</span>&gt;&gt;key;</span><br><span class="line">    p=findbst(T,key);</span><br><span class="line">    <span class="keyword">if</span>(p==<span class="literal">NULL</span>)</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;<span class="string">"没有找到"</span>&lt;&lt;key&lt;&lt;<span class="string">"！"</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    <span class="keyword">else</span></span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;<span class="string">"找到"</span>&lt;&lt;key&lt;&lt;<span class="string">"！"</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    ListBinTree(p);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><img src="/2019/02/10/数据结构期末总结/5树.png" alt="5树"></p><h3 id="冒泡排序"><a href="#冒泡排序" class="headerlink" title="冒泡排序"></a>冒泡排序</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="meta-keyword">include</span> <span class="meta-string">&lt;stdio.h&gt;</span></span></span><br><span class="line"><span class="meta">#<span class="meta-keyword">define</span> MaxSize 20</span></span><br><span class="line"><span class="keyword">typedef</span> <span class="keyword">int</span> KeyType;    <span class="comment">//定义关键字类型</span></span><br><span class="line"><span class="keyword">typedef</span> <span class="keyword">char</span> InfoType[<span class="number">10</span>];</span><br><span class="line"><span class="keyword">typedef</span> <span class="class"><span class="keyword">struct</span>          //记录类型</span></span><br><span class="line"><span class="class">&#123;</span></span><br><span class="line">    KeyType key;        <span class="comment">//关键字项</span></span><br><span class="line">    InfoType data;      <span class="comment">//其他数据项,类型为InfoType</span></span><br><span class="line">&#125; RecType;              <span class="comment">//排序的记录类型定义</span></span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">void</span> <span class="title">InsertSort</span><span class="params">(RecType R[],<span class="keyword">int</span> n)</span> <span class="comment">//对R[0..n-1]按递增有序进行直接插入排序</span></span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">    <span class="keyword">int</span> i,j,k;</span><br><span class="line">    RecType tmp;</span><br><span class="line">    <span class="keyword">for</span> (i=<span class="number">1</span>; i&lt;n; i++)</span><br><span class="line">    &#123;</span><br><span class="line">        tmp=R[i];</span><br><span class="line">        j=i<span class="number">-1</span>;            <span class="comment">//从右向左在有序区R[0..i-1]中找R[i]的插入位置</span></span><br><span class="line">        <span class="keyword">while</span> (j&gt;=<span class="number">0</span> &amp;&amp; tmp.key&lt;R[j].key)</span><br><span class="line">        &#123;</span><br><span class="line">            R[j+<span class="number">1</span>]=R[j]; <span class="comment">//将关键字大于R[i].key的记录后移</span></span><br><span class="line">            j--;</span><br><span class="line">        &#125;</span><br><span class="line">        R[j+<span class="number">1</span>]=tmp;      <span class="comment">//在j+1处插入R[i]</span></span><br><span class="line">        <span class="built_in">printf</span>(<span class="string">"i=%d: "</span>,i);</span><br><span class="line">        <span class="keyword">for</span> (k=<span class="number">0</span>; k&lt;n; k++)</span><br><span class="line">            <span class="built_in">printf</span>(<span class="string">"%d "</span>,R[k].key);</span><br><span class="line">        <span class="built_in">printf</span>(<span class="string">"\n"</span>);</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">main</span><span class="params">()</span></span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">    <span class="keyword">int</span> i,n=<span class="number">5</span>;</span><br><span class="line">    RecType R[MaxSize];</span><br><span class="line">    KeyType a[]= &#123;<span class="number">3</span>,<span class="number">24</span>,<span class="number">12</span>,<span class="number">6</span>,<span class="number">1</span>&#125;;</span><br><span class="line">    <span class="keyword">for</span> (i=<span class="number">0</span>; i&lt;n; i++)</span><br><span class="line">        R[i].key=a[i];</span><br><span class="line">    <span class="built_in">printf</span>(<span class="string">"排序前:"</span>);</span><br><span class="line">    <span class="keyword">for</span> (i=<span class="number">0</span>; i&lt;n; i++)</span><br><span class="line">        <span class="built_in">printf</span>(<span class="string">"%d "</span>,R[i].key);</span><br><span class="line">    <span class="built_in">printf</span>(<span class="string">"\n"</span>);</span><br><span class="line">    InsertSort(R,n);</span><br><span class="line">    <span class="built_in">printf</span>(<span class="string">"排序后:"</span>);</span><br><span class="line">    <span class="keyword">for</span> (i=<span class="number">0</span>; i&lt;n; i++)</span><br><span class="line">        <span class="built_in">printf</span>(<span class="string">"%d "</span>,R[i].key);</span><br><span class="line">    <span class="built_in">printf</span>(<span class="string">"\n"</span>);</span><br><span class="line">    <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><img src="/2019/02/10/数据结构期末总结/8冒泡.png" alt="8冒泡"></p><h2 id="题型分类"><a href="#题型分类" class="headerlink" title="题型分类"></a>题型分类</h2><blockquote><p>插入</p><p>删除</p><p>合并</p><p>排序</p><p>折半查找递归算法</p></blockquote><h2 id="顺序表题型"><a href="#顺序表题型" class="headerlink" title="顺序表题型"></a>顺序表题型</h2><h3 id="插入"><a href="#插入" class="headerlink" title="插入"></a>插入</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">listinsert_sq</span><span class="params">(sqlist &amp;l,<span class="keyword">int</span> i,et e)</span></span>&#123;</span><br><span class="line">    <span class="keyword">if</span>(i&lt;<span class="number">1</span>||i&gt;l.length+<span class="number">1</span>)</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    <span class="keyword">for</span> (<span class="keyword">int</span> j=l.length<span class="number">-1</span>; j&gt;=i<span class="number">-1</span>; j--) &#123;</span><br><span class="line">        l.elem[j+<span class="number">1</span>]=l.elem[j];</span><br><span class="line">    &#125;</span><br><span class="line">    l.elem[i<span class="number">-1</span>]=e;</span><br><span class="line">    ++l.length;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="删除"><a href="#删除" class="headerlink" title="删除"></a>删除</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">listdelete_sq</span><span class="params">(sqlist &amp;l,<span class="keyword">int</span> i,et &amp;e)</span></span>&#123;</span><br><span class="line">    <span class="keyword">if</span>(i&lt;<span class="number">1</span>||i&gt;l.length)</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    e=l.elem[i<span class="number">-1</span>];</span><br><span class="line">    <span class="keyword">for</span> (<span class="keyword">int</span> j=i; j&lt;=l.length<span class="number">-1</span>; j++) &#123;</span><br><span class="line">        l.elem[j<span class="number">-1</span>]=l.elem[j];</span><br><span class="line">    &#125;</span><br><span class="line">    --l.length;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="完整程序"><a href="#完整程序" class="headerlink" title="完整程序"></a>完整程序</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="meta-keyword">include</span><span class="meta-string">"iostream"</span></span></span><br><span class="line"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="built_in">std</span>;</span><br><span class="line"><span class="meta">#<span class="meta-keyword">define</span> maxsize 100</span></span><br><span class="line"><span class="keyword">typedef</span> <span class="keyword">char</span> et;</span><br><span class="line"><span class="keyword">typedef</span> <span class="class"><span class="keyword">struct</span>&#123;</span></span><br><span class="line">    et *elem;</span><br><span class="line">    <span class="keyword">int</span> length;</span><br><span class="line">&#125;sqlist;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">initlist_sq</span><span class="params">(sqlist &amp;l)</span></span>&#123;</span><br><span class="line">    l.elem=<span class="keyword">new</span> et[maxsize];</span><br><span class="line">    <span class="keyword">if</span>(!l.elem)</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    l.length=<span class="number">0</span>;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">listinsert_sq</span><span class="params">(sqlist &amp;l,<span class="keyword">int</span> i,et e)</span></span>&#123;</span><br><span class="line">    <span class="keyword">if</span>(i&lt;<span class="number">1</span>||i&gt;l.length+<span class="number">1</span>)</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    <span class="keyword">for</span> (<span class="keyword">int</span> j=l.length<span class="number">-1</span>; j&gt;=i<span class="number">-1</span>; j--) &#123;</span><br><span class="line">        l.elem[j+<span class="number">1</span>]=l.elem[j];</span><br><span class="line">    &#125;</span><br><span class="line">    l.elem[i<span class="number">-1</span>]=e;</span><br><span class="line">    ++l.length;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">listdelete_sq</span><span class="params">(sqlist &amp;l,<span class="keyword">int</span> i,et &amp;e)</span></span>&#123;</span><br><span class="line">    <span class="keyword">if</span>(i&lt;<span class="number">1</span>||i&gt;l.length)</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    e=l.elem[i<span class="number">-1</span>];</span><br><span class="line">    <span class="keyword">for</span> (<span class="keyword">int</span> j=i; j&lt;=l.length<span class="number">-1</span>; j++) &#123;</span><br><span class="line">        l.elem[j<span class="number">-1</span>]=l.elem[j];</span><br><span class="line">    &#125;</span><br><span class="line">    --l.length;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">void</span> <span class="title">disp_sq</span><span class="params">(sqlist l)</span></span>&#123;</span><br><span class="line">    <span class="keyword">if</span>(l.length==<span class="number">0</span>)</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;<span class="string">"此顺序表为空"</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    <span class="keyword">for</span>(<span class="keyword">int</span> i=<span class="number">0</span>;i&lt;l.length;i++)&#123;</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;l.elem[i];</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">main</span><span class="params">()</span></span>&#123;</span><br><span class="line">    et e;</span><br><span class="line">    sqlist l;</span><br><span class="line">    initlist_sq(l);</span><br><span class="line">    disp_sq(l);</span><br><span class="line">    listinsert_sq(l,<span class="number">1</span>,<span class="string">'A'</span>);</span><br><span class="line">    listinsert_sq(l,<span class="number">2</span>,<span class="string">'B'</span>);</span><br><span class="line">    listinsert_sq(l,<span class="number">3</span>,<span class="string">'C'</span>);</span><br><span class="line">    disp_sq(l);</span><br><span class="line">    listdelete_sq(l,<span class="number">1</span>,e);</span><br><span class="line">    disp_sq(l);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"删除的元素是："</span>&lt;&lt;e&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><img src="/2019/02/10/数据结构期末总结/1顺序.png" alt="1顺序"></p><h2 id="链表题型"><a href="#链表题型" class="headerlink" title="链表题型"></a>链表题型</h2><h3 id="插入-1"><a href="#插入-1" class="headerlink" title="插入"></a>插入</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">listinsert</span><span class="params">(lk &amp;l,<span class="keyword">int</span> i,et e)</span></span>&#123;</span><br><span class="line">    lk p;</span><br><span class="line">    p=l;</span><br><span class="line">    <span class="keyword">int</span> j=<span class="number">0</span>;</span><br><span class="line">    <span class="keyword">while</span>(p&amp;&amp;j&lt;i<span class="number">-1</span>)&#123;</span><br><span class="line">        p=p-&gt;next;</span><br><span class="line">        j++;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">if</span> (!p||j&gt;i<span class="number">-1</span>) &#123;</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    lk s=<span class="keyword">new</span> ln;</span><br><span class="line">    s-&gt;date=e;<span class="comment">//将e的值赋值给s的值域</span></span><br><span class="line">    s-&gt;next=p-&gt;next;<span class="comment">//新元素s的指针域指向旧元素p的指针域</span></span><br><span class="line">    p-&gt;next=s;<span class="comment">//将p的指针域指向s元素</span></span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="删除-1"><a href="#删除-1" class="headerlink" title="删除"></a>删除</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">listdelete</span><span class="params">(lk &amp;l,<span class="keyword">int</span> i,et &amp;e)</span></span>&#123;</span><br><span class="line">    lk p;</span><br><span class="line">    p=l;</span><br><span class="line">    <span class="keyword">int</span> j=<span class="number">0</span>;</span><br><span class="line">    <span class="keyword">while</span>(p-&gt;next&amp;&amp;j&lt;i<span class="number">-1</span>)&#123;</span><br><span class="line">        p=p-&gt;next;</span><br><span class="line">        j++;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">if</span> (!(p-&gt;next)||j&gt;i<span class="number">-1</span>) &#123;</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    lk q;</span><br><span class="line">    q=p-&gt;next;<span class="comment">//q的指针指向p的指针域</span></span><br><span class="line">    p-&gt;next=q-&gt;next;<span class="comment">//p的指针域指向q的指针域</span></span><br><span class="line">    e=q-&gt;date;<span class="comment">//将删除q的值域的值赋值给e的位置值</span></span><br><span class="line">    <span class="keyword">delete</span> q;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="求最大值"><a href="#求最大值" class="headerlink" title="求最大值"></a>求最大值</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">void</span> <span class="title">mlist</span><span class="params">(lk l)</span></span>&#123;<span class="comment">//最大值</span></span><br><span class="line">    lk s=<span class="keyword">new</span> ln;</span><br><span class="line">    lk p=l-&gt;next;</span><br><span class="line">    s-&gt;data=p-&gt;data;</span><br><span class="line">    <span class="keyword">while</span>(p)&#123;</span><br><span class="line">        <span class="keyword">if</span>(s-&gt;data&lt;=p-&gt;data)&#123;</span><br><span class="line">            s-&gt;data=p-&gt;data;</span><br><span class="line">            p=p-&gt;next;</span><br><span class="line">        &#125;</span><br><span class="line">        <span class="keyword">else</span>&#123;</span><br><span class="line">            p=p-&gt;next;</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"最大值为："</span>&lt;&lt;s-&gt;data&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="逆序输出"><a href="#逆序输出" class="headerlink" title="逆序输出"></a>逆序输出</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">rlist</span><span class="params">(lk &amp;l)</span></span>&#123;<span class="comment">//逆序</span></span><br><span class="line">    lk p=l-&gt;next;</span><br><span class="line">    lk q;</span><br><span class="line">    l-&gt;next=<span class="literal">NULL</span>;</span><br><span class="line">    <span class="keyword">while</span>(p)&#123;</span><br><span class="line">        q=p-&gt;next;</span><br><span class="line">        p-&gt;next=l-&gt;next;</span><br><span class="line">        l-&gt;next=p;</span><br><span class="line">        p=q;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="合并"><a href="#合并" class="headerlink" title="合并"></a>合并</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">void</span> <span class="title">mergelist</span><span class="params">(lk &amp;la,lk &amp;lb,lk &amp;lc)</span></span>&#123;</span><br><span class="line">    lk pa=la-&gt;next;</span><br><span class="line">    lk pb=lb-&gt;next;</span><br><span class="line">    lk pc=lc=la;</span><br><span class="line">    <span class="keyword">while</span>(pa&amp;&amp;pb)&#123;</span><br><span class="line">        <span class="keyword">if</span>(pa-&gt;data&lt;pb-&gt;data)&#123;</span><br><span class="line">            pc-&gt;next=pa;</span><br><span class="line">            pc=pa;</span><br><span class="line">            pa=pa-&gt;next;</span><br><span class="line">        &#125;</span><br><span class="line">        <span class="keyword">else</span>&#123;</span><br><span class="line">            pc-&gt;next=pb;</span><br><span class="line">            pc=pb;</span><br><span class="line">            pb=pb-&gt;next;</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">    pc-&gt;next=pa?pa:pb;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="查找"><a href="#查找" class="headerlink" title="查找"></a>查找</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">max</span><span class="params">(lk &amp;la)</span></span>&#123;</span><br><span class="line">    lk pa=la-&gt;next;<span class="comment">//将pa指针指向la表的头结点</span></span><br><span class="line">    lk ps=la;<span class="comment">//ps的初始值指向la的头结点</span></span><br><span class="line">    <span class="keyword">int</span> i=<span class="number">1</span>,k=<span class="number">0</span>;<span class="comment">//定义两个计数变量</span></span><br><span class="line">    ps-&gt;data=pa-&gt;data;<span class="comment">//给ps的数据域赋初值</span></span><br><span class="line">    <span class="keyword">while</span>(pa)&#123;</span><br><span class="line">        <span class="keyword">if</span>(pa-&gt;data&gt;=ps-&gt;data)&#123;</span><br><span class="line">            ps-&gt;data=pa-&gt;data;<span class="comment">//将ps的数据域指向pa的数据域</span></span><br><span class="line">            pa=pa-&gt;next;<span class="comment">//向下移一位</span></span><br><span class="line">            k=i;<span class="comment">//满足条件用k记录</span></span><br><span class="line">            i++;<span class="comment">//循环计数+1</span></span><br><span class="line">        &#125;</span><br><span class="line">        <span class="keyword">else</span>&#123;</span><br><span class="line">            pa=pa-&gt;next;</span><br><span class="line">            i++;<span class="comment">//循环计数+1</span></span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"最大元素是："</span>&lt;&lt;ps-&gt;data&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"位置是第"</span>&lt;&lt;k&lt;&lt;<span class="string">"个元素"</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="折半查找"><a href="#折半查找" class="headerlink" title="折半查找"></a>折半查找</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">xfind</span><span class="params">(lk st,keyt t, <span class="keyword">int</span> low, <span class="keyword">int</span> high)</span></span>&#123;</span><br><span class="line">    <span class="keyword">if</span>(low&lt;=high)&#123;</span><br><span class="line">        <span class="keyword">int</span> mid=(low+high)/<span class="number">2</span>;</span><br><span class="line">        <span class="keyword">if</span>(st.elem[mid].key==t)</span><br><span class="line">            <span class="keyword">return</span> mid;</span><br><span class="line">        <span class="keyword">else</span> <span class="keyword">if</span> (st.elem[mid].key&lt;t)</span><br><span class="line">            <span class="keyword">return</span> (xfind(st, t, mid+<span class="number">1</span>, high));</span><br><span class="line">        <span class="keyword">else</span></span><br><span class="line">            <span class="keyword">return</span> (xfind(st, t, low, mid<span class="number">-1</span>));</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">else</span></span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h3 id="完整程序-插入-删除-最大-合并-逆序"><a href="#完整程序-插入-删除-最大-合并-逆序" class="headerlink" title="完整程序(插入,删除,最大,合并,逆序)"></a>完整程序(插入,删除,最大,合并,逆序)</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br><span class="line">166</span><br><span class="line">167</span><br><span class="line">168</span><br><span class="line">169</span><br><span class="line">170</span><br><span class="line">171</span><br><span class="line">172</span><br><span class="line">173</span><br><span class="line">174</span><br><span class="line">175</span><br><span class="line">176</span><br><span class="line">177</span><br><span class="line">178</span><br><span class="line">179</span><br><span class="line">180</span><br><span class="line">181</span><br><span class="line">182</span><br><span class="line">183</span><br><span class="line">184</span><br><span class="line">185</span><br><span class="line">186</span><br><span class="line">187</span><br><span class="line">188</span><br><span class="line">189</span><br><span class="line">190</span><br><span class="line">191</span><br><span class="line">192</span><br><span class="line">193</span><br><span class="line">194</span><br><span class="line">195</span><br><span class="line">196</span><br><span class="line">197</span><br><span class="line">198</span><br><span class="line">199</span><br><span class="line">200</span><br><span class="line">201</span><br><span class="line">202</span><br><span class="line">203</span><br><span class="line">204</span><br><span class="line">205</span><br><span class="line">206</span><br><span class="line">207</span><br><span class="line">208</span><br><span class="line">209</span><br><span class="line">210</span><br><span class="line">211</span><br><span class="line">212</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="meta-keyword">include</span><span class="meta-string">&lt;iostream&gt;</span></span></span><br><span class="line"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="built_in">std</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">typedef</span> <span class="class"><span class="keyword">struct</span> <span class="title">ln</span>&#123;</span></span><br><span class="line">    <span class="keyword">int</span> data;</span><br><span class="line">    <span class="class"><span class="keyword">struct</span> <span class="title">ln</span> *<span class="title">next</span>;</span></span><br><span class="line">&#125;*lk;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">initlist</span><span class="params">(lk &amp;l)</span></span>&#123;</span><br><span class="line">    l=<span class="keyword">new</span> ln;</span><br><span class="line">    l-&gt;next=<span class="literal">NULL</span>;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">insertlist</span><span class="params">(lk &amp;l,<span class="keyword">int</span> i,<span class="keyword">int</span> e)</span></span>&#123;</span><br><span class="line">    lk p=l;<span class="comment">//错写成p=l-&gt;next</span></span><br><span class="line">    <span class="keyword">int</span> j=<span class="number">0</span>;</span><br><span class="line">    <span class="keyword">while</span>(p&amp;&amp;j&lt;i<span class="number">-1</span>)&#123;</span><br><span class="line">        p=p-&gt;next;</span><br><span class="line">        j++;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">if</span>(!p||j&gt;i<span class="number">-1</span>)&#123;</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    lk s=<span class="keyword">new</span> ln;</span><br><span class="line">    s-&gt;data=e;</span><br><span class="line">    s-&gt;next=p-&gt;next;</span><br><span class="line">    p-&gt;next=s;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">deletelist</span><span class="params">(lk &amp;l,<span class="keyword">int</span> i,<span class="keyword">int</span> &amp;e)</span></span>&#123;</span><br><span class="line">    lk p=l;<span class="comment">//错写成p=l-&gt;next</span></span><br><span class="line">    <span class="keyword">int</span> j=<span class="number">0</span>;</span><br><span class="line">    <span class="keyword">while</span>(p&amp;&amp;j&lt;i<span class="number">-1</span>)&#123;</span><br><span class="line">        p=p-&gt;next;</span><br><span class="line">        j++;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">if</span>(!p||j&gt;i<span class="number">-1</span>)&#123;</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    lk q=p-&gt;next;</span><br><span class="line">    p-&gt;next=q-&gt;next;</span><br><span class="line">    e=q-&gt;data;</span><br><span class="line">    <span class="keyword">delete</span> q;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">margeinlist</span><span class="params">(lk &amp;la,lk &amp;lb,lk &amp;lc)</span></span>&#123;<span class="comment">//合并</span></span><br><span class="line">    lk pa=la-&gt;next;</span><br><span class="line">    lk pb=lb-&gt;next;</span><br><span class="line">    lk pc=lc=la;</span><br><span class="line">    <span class="keyword">while</span>(pa&amp;&amp;pb)&#123;</span><br><span class="line">        <span class="keyword">if</span>(pa-&gt;data&lt;pb-&gt;data)&#123;</span><br><span class="line">            pc-&gt;next=pa;</span><br><span class="line">            pc=pa;</span><br><span class="line">            pa=pa-&gt;next;</span><br><span class="line">        &#125;</span><br><span class="line">        <span class="keyword">else</span>&#123;</span><br><span class="line">            pc-&gt;next=pb;</span><br><span class="line">            pc=pb;</span><br><span class="line">            pb=pb-&gt;next;</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">    pc-&gt;next=pa?pa:pb;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">rlist</span><span class="params">(lk &amp;l)</span></span>&#123;<span class="comment">//逆序</span></span><br><span class="line">    lk p=l-&gt;next;</span><br><span class="line">    lk q;</span><br><span class="line">    l-&gt;next=<span class="literal">NULL</span>;</span><br><span class="line">    <span class="keyword">while</span>(p)&#123;</span><br><span class="line">        q=p-&gt;next;</span><br><span class="line">        p-&gt;next=l-&gt;next;</span><br><span class="line">        l-&gt;next=p;</span><br><span class="line">        p=q;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">void</span> <span class="title">mlist</span><span class="params">(lk l)</span></span>&#123;<span class="comment">//最大值</span></span><br><span class="line">    lk s=<span class="keyword">new</span> ln;</span><br><span class="line">    lk p=l-&gt;next;</span><br><span class="line">    s-&gt;data=p-&gt;data;</span><br><span class="line">    <span class="keyword">while</span>(p)&#123;</span><br><span class="line">        <span class="keyword">if</span>(s-&gt;data&lt;=p-&gt;data)&#123;</span><br><span class="line">            s-&gt;data=p-&gt;data;</span><br><span class="line">            p=p-&gt;next;</span><br><span class="line">        &#125;</span><br><span class="line">        <span class="keyword">else</span>&#123;</span><br><span class="line">            p=p-&gt;next;</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"最大值为："</span>&lt;&lt;s-&gt;data&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">void</span> <span class="title">disp</span><span class="params">(lk &amp;l)</span></span>&#123;</span><br><span class="line">    lk p=l-&gt;next;</span><br><span class="line">    <span class="keyword">if</span>(!p)&#123;</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;<span class="string">"空表"</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">while</span>(p)&#123;</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;p-&gt;data;</span><br><span class="line">        p=p-&gt;next;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">main</span><span class="params">()</span></span>&#123;</span><br><span class="line">    lk la,lb,lc;</span><br><span class="line">    <span class="keyword">int</span> e;</span><br><span class="line">    initlist(la);</span><br><span class="line">    initlist(lb);</span><br><span class="line">    insertlist(la, <span class="number">1</span>, <span class="number">1</span>);</span><br><span class="line">    insertlist(la, <span class="number">2</span>, <span class="number">5</span>);</span><br><span class="line">    insertlist(la, <span class="number">3</span>, <span class="number">7</span>);</span><br><span class="line">    insertlist(la, <span class="number">4</span>, <span class="number">9</span>);</span><br><span class="line">    insertlist(lb, <span class="number">1</span>, <span class="number">2</span>);</span><br><span class="line">    insertlist(lb, <span class="number">2</span>, <span class="number">3</span>);</span><br><span class="line">    insertlist(lb, <span class="number">3</span>, <span class="number">6</span>);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"la的元素是："</span>;</span><br><span class="line">    disp(la);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"lb的元素是："</span>;</span><br><span class="line">    disp(lb);</span><br><span class="line">    deletelist(la, <span class="number">2</span>, e);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"删除的元素是："</span>&lt;&lt;e&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    margeinlist(la, lb, lc);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"合并后的元素是："</span>;</span><br><span class="line">    disp(lc);</span><br><span class="line">    rlist(lc);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"反序输出元素顺序为："</span>;</span><br><span class="line">    disp(lc);</span><br><span class="line">    mlist(lc);</span><br><span class="line">&#125;</span><br><span class="line"><span class="meta">#<span class="meta-keyword">include</span> <span class="meta-string">&lt;iostream&gt;</span></span></span><br><span class="line"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="built_in">std</span>;</span><br><span class="line"><span class="keyword">typedef</span> <span class="keyword">char</span> et;</span><br><span class="line"><span class="keyword">typedef</span> <span class="class"><span class="keyword">struct</span> <span class="title">ln</span>&#123;</span></span><br><span class="line">    et date;</span><br><span class="line">    <span class="class"><span class="keyword">struct</span> <span class="title">ln</span> *<span class="title">next</span>;</span></span><br><span class="line">&#125;ln,*lk;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">initlist</span><span class="params">(lk &amp;l)</span></span>&#123;</span><br><span class="line">    l=<span class="keyword">new</span> ln;</span><br><span class="line">    l-&gt;next=<span class="literal">NULL</span>;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">listinsert</span><span class="params">(lk &amp;l,<span class="keyword">int</span> i,et e)</span></span>&#123;</span><br><span class="line">    lk p;</span><br><span class="line">    p=l;</span><br><span class="line">    <span class="keyword">int</span> j=<span class="number">0</span>;</span><br><span class="line">    <span class="keyword">while</span>(p&amp;&amp;j&lt;i<span class="number">-1</span>)&#123;</span><br><span class="line">        p=p-&gt;next;</span><br><span class="line">        j++;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">if</span> (!p||j&gt;i<span class="number">-1</span>) &#123;</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    lk s=<span class="keyword">new</span> ln;</span><br><span class="line">    s-&gt;date=e;<span class="comment">//将e的值赋值给s的值域</span></span><br><span class="line">    s-&gt;next=p-&gt;next;<span class="comment">//新元素s的指针域指向旧元素p的指针域</span></span><br><span class="line">    p-&gt;next=s;<span class="comment">//将p的指针域指向s元素</span></span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">listdelete</span><span class="params">(lk &amp;l,<span class="keyword">int</span> i,et &amp;e)</span></span>&#123;</span><br><span class="line">    lk p;</span><br><span class="line">    p=l;</span><br><span class="line">    <span class="keyword">int</span> j=<span class="number">0</span>;</span><br><span class="line">    <span class="keyword">while</span>(p-&gt;next&amp;&amp;j&lt;i<span class="number">-1</span>)&#123;</span><br><span class="line">        p=p-&gt;next;</span><br><span class="line">        j++;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">if</span> (!(p-&gt;next)||j&gt;i<span class="number">-1</span>) &#123;</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    lk q;</span><br><span class="line">    q=p-&gt;next;<span class="comment">//q的指针指向p的指针域</span></span><br><span class="line">    p-&gt;next=q-&gt;next;<span class="comment">//p的指针域指向q的指针域</span></span><br><span class="line">    e=q-&gt;date;<span class="comment">//将删除q的值域的值赋值给e的位置值</span></span><br><span class="line">    <span class="keyword">delete</span> q;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">void</span> <span class="title">disp</span><span class="params">(lk l)</span></span>&#123;</span><br><span class="line">    lk p=l-&gt;next;</span><br><span class="line">    <span class="keyword">if</span> (!p) &#123;</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;<span class="string">"此链表为空"</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">while</span> (p) &#123;</span><br><span class="line">        <span class="built_in">cout</span>&lt;&lt;p-&gt;date;</span><br><span class="line">        p=p-&gt;next;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">main</span><span class="params">()</span></span>&#123;</span><br><span class="line">    lk l;</span><br><span class="line">    et e;</span><br><span class="line">    initlist(l);</span><br><span class="line">    disp(l);</span><br><span class="line">    listinsert(l, <span class="number">1</span>, <span class="string">'A'</span>);</span><br><span class="line">    listinsert(l, <span class="number">2</span>, <span class="string">'B'</span>);</span><br><span class="line">    listinsert(l, <span class="number">3</span>, <span class="string">'C'</span>);</span><br><span class="line">    disp(l);</span><br><span class="line">    listdelete(l, <span class="number">2</span>, e);</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"删除的元素是："</span>&lt;&lt;e&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    disp(l);</span><br><span class="line">    <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><img src="/2019/02/10/数据结构期末总结/2链表.png" alt="2链表"></p><h3 id="完整代码-查找"><a href="#完整代码-查找" class="headerlink" title="完整代码(查找)"></a>完整代码(查找)</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="meta-keyword">include</span> <span class="meta-string">&lt;iostream&gt;</span></span></span><br><span class="line"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="built_in">std</span>;</span><br><span class="line"></span><br><span class="line"><span class="keyword">typedef</span> <span class="class"><span class="keyword">struct</span> <span class="title">ln</span>&#123;</span></span><br><span class="line">    <span class="keyword">int</span> data;</span><br><span class="line">    <span class="class"><span class="keyword">struct</span> <span class="title">ln</span> *<span class="title">next</span>;</span></span><br><span class="line">&#125;*lk;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">inilist</span><span class="params">(lk &amp;l)</span></span>&#123;</span><br><span class="line">    l=<span class="keyword">new</span> ln;</span><br><span class="line">    l-&gt;next=<span class="literal">NULL</span>;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">listinsert</span><span class="params">(lk &amp;l,<span class="keyword">int</span> i,<span class="keyword">int</span> e)</span></span>&#123;</span><br><span class="line">    lk p=l;<span class="comment">//定义一个指针p指向l的头结点</span></span><br><span class="line">    <span class="keyword">int</span> j=<span class="number">0</span>;<span class="comment">//位置的初始值</span></span><br><span class="line">    <span class="keyword">while</span> (p&amp;&amp;j&lt;i<span class="number">-1</span>) &#123;</span><br><span class="line">        p=p-&gt;next;<span class="comment">//当满足条件是p指向下一位</span></span><br><span class="line">        j++;<span class="comment">//位置值加一</span></span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">if</span> (!p||j&gt;i<span class="number">-1</span>) &#123;</span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    lk s=<span class="keyword">new</span> ln;<span class="comment">//建立一个节点s</span></span><br><span class="line">    s-&gt;data=e;<span class="comment">//s节点的数据域等于e的数值</span></span><br><span class="line">    s-&gt;next=p-&gt;next;<span class="comment">//s的next域指向p的next域</span></span><br><span class="line">    p-&gt;next=s;<span class="comment">//p的next域指向s节点</span></span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">max</span><span class="params">(lk &amp;la)</span></span>&#123;</span><br><span class="line">    lk pa=la-&gt;next;<span class="comment">//将pa指针指向la表的头结点</span></span><br><span class="line">    lk ps=la;<span class="comment">//ps的初始值指向la的头结点</span></span><br><span class="line">    <span class="keyword">int</span> i=<span class="number">1</span>,k=<span class="number">0</span>;<span class="comment">//定义两个计数变量</span></span><br><span class="line">    ps-&gt;data=pa-&gt;data;<span class="comment">//给ps的数据域赋初值</span></span><br><span class="line">    <span class="keyword">while</span>(pa)&#123;</span><br><span class="line">        <span class="keyword">if</span>(pa-&gt;data&gt;=ps-&gt;data)&#123;</span><br><span class="line">            ps-&gt;data=pa-&gt;data;<span class="comment">//将ps的数据域指向pa的数据域</span></span><br><span class="line">            pa=pa-&gt;next;<span class="comment">//向下移一位</span></span><br><span class="line">            k=i;<span class="comment">//满足条件用k记录</span></span><br><span class="line">            i++;<span class="comment">//循环计数+1</span></span><br><span class="line">        &#125;</span><br><span class="line">        <span class="keyword">else</span>&#123;</span><br><span class="line">            pa=pa-&gt;next;</span><br><span class="line">            i++;<span class="comment">//循环计数+1</span></span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"最大元素是："</span>&lt;&lt;ps-&gt;data&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"位置是第"</span>&lt;&lt;k&lt;&lt;<span class="string">"个元素"</span>&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">main</span><span class="params">()</span></span>&#123;</span><br><span class="line">    lk la;<span class="comment">//定义三个表</span></span><br><span class="line">    inilist(la);<span class="comment">//对表la的初始化</span></span><br><span class="line">    listinsert(la, <span class="number">1</span>, <span class="number">2</span>);<span class="comment">//向la表中插入数据</span></span><br><span class="line">    listinsert(la, <span class="number">2</span>, <span class="number">3</span>);</span><br><span class="line">    listinsert(la, <span class="number">3</span>, <span class="number">5</span>);</span><br><span class="line">    listinsert(la, <span class="number">4</span>, <span class="number">7</span>);</span><br><span class="line">    listinsert(la, <span class="number">5</span>, <span class="number">10</span>);</span><br><span class="line">    listinsert(la, <span class="number">6</span>, <span class="number">9</span>);</span><br><span class="line">    listinsert(la, <span class="number">7</span>, <span class="number">8</span>);</span><br><span class="line">    max(la);</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><img src="/2019/02/10/数据结构期末总结/3查找.png" alt="3查找"></p><h3 id="完整代码-折半查找"><a href="#完整代码-折半查找" class="headerlink" title="完整代码(折半查找)"></a>完整代码(折半查找)</h3><figure class="highlight c++"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">//</span></span><br><span class="line"><span class="comment">//  main.cpp</span></span><br><span class="line"><span class="comment">//  实验六数据结构</span></span><br><span class="line"><span class="comment">//</span></span><br><span class="line"><span class="comment">//  Created by PC-MAC on 2018/12/3.</span></span><br><span class="line"><span class="comment">//  Copyright © 2018 PC-MAC. All rights reserved.</span></span><br><span class="line"><span class="comment">//</span></span><br><span class="line"></span><br><span class="line"><span class="meta">#<span class="meta-keyword">include</span><span class="meta-string">"iostream"</span></span></span><br><span class="line"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="built_in">std</span>;</span><br><span class="line"><span class="keyword">const</span> <span class="keyword">int</span> tmax=<span class="number">10</span>;</span><br><span class="line"><span class="keyword">typedef</span> <span class="keyword">int</span> keyt;</span><br><span class="line"><span class="keyword">typedef</span> <span class="class"><span class="keyword">struct</span>&#123;</span></span><br><span class="line">    keyt key;</span><br><span class="line">&#125;elemtype;<span class="comment">//每行内容</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">typedef</span> <span class="class"><span class="keyword">struct</span>&#123;</span></span><br><span class="line">    elemtype *elem;</span><br><span class="line">    <span class="keyword">int</span> length;</span><br><span class="line">&#125;lk;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">find</span><span class="params">(lk st,keyt key)</span></span>&#123;</span><br><span class="line">    <span class="keyword">int</span> i;</span><br><span class="line">    st.elem[<span class="number">0</span>].key=key;</span><br><span class="line">    <span class="keyword">for</span>(i=st.length;st.elem[i].key!=key;i--);</span><br><span class="line">    <span class="keyword">return</span> i;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">twofind</span><span class="params">(lk st,keyt key)</span></span>&#123;</span><br><span class="line">    <span class="keyword">int</span> low,high,mid;</span><br><span class="line">    low=<span class="number">1</span>;</span><br><span class="line">    high=st.length;</span><br><span class="line">    <span class="keyword">while</span>(low&lt;=high)&#123;</span><br><span class="line">        mid=(low+high)/<span class="number">2</span>;</span><br><span class="line">        <span class="keyword">if</span>(st.elem[mid].key==key)</span><br><span class="line">            <span class="keyword">return</span> mid;</span><br><span class="line">        <span class="keyword">else</span> <span class="keyword">if</span>(st.elem[mid].key&gt;key)</span><br><span class="line">            high=mid<span class="number">-1</span>;</span><br><span class="line">        <span class="keyword">else</span></span><br><span class="line">            low=mid+<span class="number">1</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">xfind</span><span class="params">(lk st,keyt t, <span class="keyword">int</span> low, <span class="keyword">int</span> high)</span></span>&#123;</span><br><span class="line">    <span class="keyword">if</span>(low&lt;=high)&#123;</span><br><span class="line">        <span class="keyword">int</span> mid=(low+high)/<span class="number">2</span>;</span><br><span class="line">        <span class="keyword">if</span>(st.elem[mid].key==t)</span><br><span class="line">            <span class="keyword">return</span> mid;</span><br><span class="line">        <span class="keyword">else</span> <span class="keyword">if</span> (st.elem[mid].key&lt;t)</span><br><span class="line">            <span class="keyword">return</span> (xfind(st, t, mid+<span class="number">1</span>, high));</span><br><span class="line">        <span class="keyword">else</span></span><br><span class="line">            <span class="keyword">return</span> (xfind(st, t, low, mid<span class="number">-1</span>));</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">else</span></span><br><span class="line">        <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">main</span><span class="params">()</span></span>&#123;</span><br><span class="line">    keyt a[]=&#123;<span class="number">0</span>,<span class="number">13</span>,<span class="number">24</span>,<span class="number">35</span>,<span class="number">32</span>,<span class="number">65</span>,<span class="number">19</span>,<span class="number">7</span>,<span class="number">74</span>,<span class="number">20</span>,<span class="number">38</span>&#125;;</span><br><span class="line">    lk t;</span><br><span class="line">    t.elem=<span class="keyword">new</span> elemtype[tmax];</span><br><span class="line">    t.length=<span class="number">10</span>;</span><br><span class="line">    <span class="keyword">for</span>(<span class="keyword">int</span> i=<span class="number">1</span>;i&lt;=<span class="number">10</span>;i++)&#123;</span><br><span class="line">        t.elem[i].key=a[i];</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"查找到的元素位置为："</span>&lt;&lt;find(t, <span class="number">35</span>)&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    lk s;</span><br><span class="line">    s.elem=<span class="keyword">new</span> elemtype[tmax];</span><br><span class="line">    s.length=<span class="number">10</span>;</span><br><span class="line">    keyt b[]=&#123;<span class="number">0</span>,<span class="number">2</span>,<span class="number">4</span>,<span class="number">6</span>,<span class="number">8</span>,<span class="number">10</span>,<span class="number">12</span>,<span class="number">14</span>,<span class="number">16</span>,<span class="number">18</span>,<span class="number">20</span>&#125;;</span><br><span class="line">    <span class="keyword">for</span>(<span class="keyword">int</span> k=<span class="number">1</span>;k&lt;=<span class="number">10</span>;k++)&#123;</span><br><span class="line">        s.elem[k].key=b[k];</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"折半查找到的元素位置为："</span>&lt;&lt;twofind(s, <span class="number">14</span>)&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    <span class="keyword">int</span> i, j;</span><br><span class="line">    keyt arr[<span class="number">10</span>];</span><br><span class="line">    <span class="keyword">for</span> (i = <span class="number">0</span>; i &lt; <span class="number">10</span>; i++)</span><br><span class="line">    &#123;</span><br><span class="line">        arr[i] = i * <span class="number">2</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">cout</span> &lt;&lt; <span class="string">"输入查找数字:"</span>;</span><br><span class="line">    <span class="built_in">cin</span> &gt;&gt; j;</span><br><span class="line">    lk P;</span><br><span class="line">    P.elem = <span class="keyword">new</span> elemtype;</span><br><span class="line">    P.length = <span class="number">10</span>;</span><br><span class="line">    <span class="keyword">for</span> (<span class="keyword">int</span> j = <span class="number">1</span>; j &lt;= <span class="number">10</span>; j++)</span><br><span class="line">    &#123;</span><br><span class="line">        P.elem[j].key = arr[j];</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">cout</span>&lt;&lt;<span class="string">"递归折半查找到的元素位置为："</span>&lt;&lt;xfind(P, j, <span class="number">0</span>, <span class="number">10</span>)&lt;&lt;<span class="built_in">endl</span>;</span><br><span class="line">    <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><img src="/2019/02/10/数据结构期末总结/4折半.png" alt="4折半"></p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;p&gt;&lt;img src=&quot;/2019/02/10/数据结构期末总结/0.png&quot; alt=&quot;0&quot;&gt;&lt;/p&gt;
&lt;h1 id=&quot;数据结构重点分析及期末总结&quot;&gt;&lt;a href=&quot;#数据结构重点分析及期末总结&quot; class=&quot;headerlink&quot; title=&quot;数据结构重点分析及期末总
      
    
    </summary>
    
      <category term="数据结构" scheme="https://blog.orghub.cn/categories/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/"/>
    
    
      <category term="总结" scheme="https://blog.orghub.cn/tags/%E6%80%BB%E7%BB%93/"/>
    
      <category term="经验" scheme="https://blog.orghub.cn/tags/%E7%BB%8F%E9%AA%8C/"/>
    
      <category term="期末" scheme="https://blog.orghub.cn/tags/%E6%9C%9F%E6%9C%AB/"/>
    
      <category term="数据结构" scheme="https://blog.orghub.cn/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/"/>
    
  </entry>
  
  <entry>
    <title>更换域名方法</title>
    <link href="https://blog.orghub.cn/2019/02/09/%E6%9B%B4%E6%8D%A2%E5%9F%9F%E5%90%8D%E6%96%B9%E6%B3%95/"/>
    <id>https://blog.orghub.cn/2019/02/09/更换域名方法/</id>
    <published>2019-02-09T05:18:09.000Z</published>
    <updated>2019-02-09T05:40:09.698Z</updated>
    
    <content type="html"><![CDATA[<h2 id="Blog更换域名教程"><a href="#Blog更换域名教程" class="headerlink" title="Blog更换域名教程"></a>Blog更换域名教程</h2><h3 id="更换流程"><a href="#更换流程" class="headerlink" title="更换流程"></a>更换流程</h3><blockquote><p>1.更改域名解析；</p><p>2.更改站点配置文件URL；</p><p>3.改变CNAM中的域名；</p><p>4.改变robots.txt中，Sitemap字段；</p><p>5.查看Github中域名绑定是否更改；</p><p>6.对Google爬虫进行站点验证及添加；</p></blockquote><h3 id="更换域名解析"><a href="#更换域名解析" class="headerlink" title="更换域名解析"></a>更换域名解析</h3><p>在自己的域名控制台中导出自己之前绑定改过的域名，并在新的域名解析中添加。</p><h3 id="更改站点配置文件URL"><a href="#更改站点配置文件URL" class="headerlink" title="更改站点配置文件URL"></a>更改站点配置文件URL</h3><p>进入站点配置文件，更改字段：<code>url: https://xxx.com</code></p><h3 id="改变CNAM中的域名"><a href="#改变CNAM中的域名" class="headerlink" title="改变CNAM中的域名"></a>改变CNAM中的域名</h3><p>打开你的blog目录，<code>source/CNAME</code>，直接添加即可。</p><ul><li>CNAME会直接关联Github的域名绑定</li></ul><h3 id="改变robots"><a href="#改变robots" class="headerlink" title="改变robots"></a>改变robots</h3><p>打开你的blog目录，<code>source/robots.txt</code>中，改变Sitemap字段添加你的域名地址。</p><ul><li>为了给爬虫robots做引导</li></ul><h3 id="在Github中域名绑定"><a href="#在Github中域名绑定" class="headerlink" title="在Github中域名绑定"></a>在Github中域名绑定</h3><p>查看Github中域名绑定是否更改，具体位置在你的库文件下的域名绑定模块。</p><h3 id="对Google爬虫进行站点验证及添加"><a href="#对Google爬虫进行站点验证及添加" class="headerlink" title="对Google爬虫进行站点验证及添加"></a>对Google爬虫进行站点验证及添加</h3><p>点击地址自行添加：<a href="https://www.google.com/webmasters/tools/home?hl=zh-CN" target="_blank" rel="noopener">https://www.google.com/webmasters/tools/home?hl=zh-CN</a></p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h2 id=&quot;Blog更换域名教程&quot;&gt;&lt;a href=&quot;#Blog更换域名教程&quot; class=&quot;headerlink&quot; title=&quot;Blog更换域名教程&quot;&gt;&lt;/a&gt;Blog更换域名教程&lt;/h2&gt;&lt;h3 id=&quot;更换流程&quot;&gt;&lt;a href=&quot;#更换流程&quot; class=&quot;head
      
    
    </summary>
    
      <category term="域名" scheme="https://blog.orghub.cn/categories/%E5%9F%9F%E5%90%8D/"/>
    
      <category term="教程" scheme="https://blog.orghub.cn/categories/%E5%9F%9F%E5%90%8D/%E6%95%99%E7%A8%8B/"/>
    
    
      <category term="域名" scheme="https://blog.orghub.cn/tags/%E5%9F%9F%E5%90%8D/"/>
    
      <category term="教程" scheme="https://blog.orghub.cn/tags/%E6%95%99%E7%A8%8B/"/>
    
  </entry>
  
  <entry>
    <title>小米Pro15.6 安装黑苹果兼MacOS Mojave安装教程</title>
    <link href="https://blog.orghub.cn/2019/02/03/%E5%B0%8F%E7%B1%B3PRO%E5%AE%89%E8%A3%85%E9%BB%91%E8%8B%B9%E6%9E%9C/"/>
    <id>https://blog.orghub.cn/2019/02/03/小米PRO安装黑苹果/</id>
    <published>2019-02-03T02:50:09.000Z</published>
    <updated>2019-02-03T10:45:47.068Z</updated>
    
    <content type="html"><![CDATA[<h2 id="小米Pro15-6-安装黑苹果兼MacOS-Mojave安装教程"><a href="#小米Pro15-6-安装黑苹果兼MacOS-Mojave安装教程" class="headerlink" title="小米Pro15.6 安装黑苹果兼MacOS Mojave安装教程"></a>小米Pro15.6 安装黑苹果兼MacOS Mojave安装教程</h2><h3 id="写作-安装流程"><a href="#写作-安装流程" class="headerlink" title="写作/安装流程"></a>写作/安装流程</h3><blockquote><p>1.下载镜像；</p><p>2.刻盘；</p><p>3.安装；</p><p>4.替换/完善EFI；</p></blockquote><h2 id="Windows下制作macOS-Mojave安装盘"><a href="#Windows下制作macOS-Mojave安装盘" class="headerlink" title="Windows下制作macOS Mojave安装盘"></a>Windows下制作macOS Mojave安装盘</h2><h3 id="准备工具"><a href="#准备工具" class="headerlink" title="准备工具"></a>准备工具</h3><blockquote><p>U盘大于8G</p><p>U 盘大小不限做 PE 盘</p><p>系统镜像下载：文章结尾</p><p><a href="https://www.balena.io/etcher/" target="_blank" rel="noopener">etcher</a></p></blockquote><h3 id="制作安装镜像"><a href="#制作安装镜像" class="headerlink" title="制作安装镜像"></a>制作安装镜像</h3><blockquote><p>镜像制作</p><p>下载<a href="https://www.balena.io/etcher/" target="_blank" rel="noopener">etcher</a></p><p>打开镜像</p><p>选择U盘</p><p>点击Flash即可</p></blockquote><h3 id="小米BIOS设置"><a href="#小米BIOS设置" class="headerlink" title="小米BIOS设置"></a>小米BIOS设置</h3><p>开机按<code>F2</code>进入BIOS设置</p><ul><li><p>Security（1）</p><ul><li>选择<code>Set Supervisor Password</code>，在<code>Enter New Password</code>这里输入密码，然后在<code>Enter New Password Again</code>这里重复输入密码，这一步是设置进入BIOS的密码。</li></ul><p><img src="/2019/02/03/小米PRO安装黑苹果/设置BIOS1.png" alt="设置BIOS1"></p></li><li><p>Security（2）</p><ul><li>再次进BIOS，依然在Security分类里选择<code>Secure Boot Mode</code>选项，将其设置为<code>Disable</code>，关闭安全模式。最后按<code>F10</code>，对你的刚才的设置进行保存并退出。</li></ul><p><img src="/2019/02/03/小米PRO安装黑苹果/设置BIOS2.png" alt="设置BIOS2"></p></li></ul><h2 id="安装系统"><a href="#安装系统" class="headerlink" title="安装系统"></a>安装系统</h2><p>开机，按<code>F12</code>选择U盘引导</p><p>进入CLOVER主界面，直接回车，开始引导mac OS</p><p><img src="/2019/02/03/小米PRO安装黑苹果/0.png" alt="0"></p><p>很多的机友都是会在这个地方翻车。出现问题请私聊我反馈，请提供翻车照片及机器配置图。<strong>不提供任何信息直接发问就是耍流氓</strong></p><p>这个过程需要1-2分钟,耐心等待，进入安装程序,出现语言选择界面</p><p><img src="/2019/02/03/小米PRO安装黑苹果/1.png" alt="1"></p><p>选择简体中文，点击继续</p><p><img src="/2019/02/03/小米PRO安装黑苹果/4.png" alt="4"></p><p>出现安装向导，点击继续</p><p><img src="/2019/02/03/小米PRO安装黑苹果/5.png" alt="5"></p><p>阅读许可协议，点击继续</p><p><img src="/2019/02/03/小米PRO安装黑苹果/6.png" alt="6"></p><p>点击同意，继续</p><p><img src="/2019/02/03/小米PRO安装黑苹果/7.png" alt="7"></p><p>出现安装界面，这里是让你选择安装磁盘</p><p><img src="/2019/02/03/小米PRO安装黑苹果/8.png" alt="8"></p><p>请点击菜单上面的实用工具-&gt;磁盘工具</p><p><img src="/2019/02/03/小米PRO安装黑苹果/9.png" alt="9"></p><p>出现磁盘工具，<strong><em>在磁盘工具里面所做的操作涉及到你的数据安全，请认真仔细确认后再操作，否则由此造成的一切后果本站概不承担。</em></strong></p><p><img src="/2019/02/03/小米PRO安装黑苹果/10.png" alt="10"></p><p>点击窗口左上角的<code>显示</code>，选择<code>显示所有设备</code></p><p><img src="/2019/02/03/小米PRO安装黑苹果/11.png" alt="11"></p><p>选择<code>APPLE SSD macOS-0 SSD Media</code><strong><em>本例中为虚拟机中的磁盘名称，请根据你的设备选择相应的磁盘</em></strong></p><p><img src="/2019/02/03/小米PRO安装黑苹果/12.png" alt="12"></p><p>点击<code>抹掉</code>， <strong><em>假设您的磁盘是空的或者数据是已经备份过的,别怪我没提醒你!!!</em></strong></p><p><img src="/2019/02/03/小米PRO安装黑苹果/13.png" alt="13"></p><p>在弹出的窗口中输入：名称：<code>Mac</code>；格式：<code>Mac OS扩展(日志式)（10.13.X以上版本）APFS（10.14.X以上版本）</code>；方案：<code>GUID分区图</code>，<strong><em>在点击抹掉按钮之前，请再次确认你的磁盘已经提前做了数据备份</em></strong></p><p><img src="/2019/02/03/小米PRO安装黑苹果/14.png" alt="14"></p><p>点击<code>抹除</code>，然后等待操作结束</p><p><img src="/2019/02/03/小米PRO安装黑苹果/15.png" alt="15"></p><p>点击完成，通过菜单选择<code>退出磁盘工具</code>或者按窗口左上角红色按钮离开磁盘工具</p><p><img src="/2019/02/03/小米PRO安装黑苹果/16.png" alt="16"></p><p>返回到安装界面</p><p><img src="/2019/02/03/小米PRO安装黑苹果/17.png" alt="17"></p><p>选择<code>Mac</code>磁盘，点击继续</p><p><img src="/2019/02/03/小米PRO安装黑苹果/18.png" alt="18"></p><p>它会把USB安装盘上的安装文件预复制到要安装的系统分区里，这个过程通常会持续1-2分钟</p><p><img src="/2019/02/03/小米PRO安装黑苹果/21.png" alt="21"></p><p>重启后继续安装，在安装期间，通常会自动重启2-3遍</p><p><img src="/2019/02/03/小米PRO安装黑苹果/19.png" alt="19"></p><p>之所以有重启的动作是因为从Mac OS 10.13.x开始，苹果公司将默认的HFS磁盘分区强行换成APFS分区，它会在第二次重启之后做HFS-&gt;APFS转换的动作，转换成功后，继续安装过程。</p><h3 id="重启重点"><a href="#重启重点" class="headerlink" title="重启重点"></a>重启重点</h3><p>第一次重启事实上Mac OS，已经完成的解压到了硬盘上，就跟Windows中拷贝U盘文件道理是一样的。</p><p>所以无论是第几次重启，哪怕是第一次，也可以直接进入Windows系统继续如下操作，因为这个时候Mac的基本配置文佳已经拷贝完成了。</p><h2 id="合并或粘贴EFI脱离USB运行"><a href="#合并或粘贴EFI脱离USB运行" class="headerlink" title="合并或粘贴EFI脱离USB运行"></a>合并或粘贴EFI脱离USB运行</h2><h2 id="Windows篇单硬盘版"><a href="#Windows篇单硬盘版" class="headerlink" title="[Windows篇单硬盘版]"></a>[Windows篇单硬盘版]</h2><p>基于最新版本的MacOS是不继承任何EFI 的，也就是说除了集成Clover，没有任何驱动的配置，所以若U盘中不替换EFI是无法正常启动桌面的，尽管配置成功，开机跑代码也会提示。所以这个时候就要借着重启的机会，提前合并粘贴EFI文件。</p><p><img src="/2019/02/03/小米PRO安装黑苹果/36.png" alt="36"></p><h3 id="重启电脑"><a href="#重启电脑" class="headerlink" title="重启电脑"></a>重启电脑</h3><p>正常开机进入Windows桌面，打开DG（DiskGenius分区工具）找到<code>ESP</code>分区，点击右侧的<code>浏览文件</code></p><p><img src="/2019/02/03/小米PRO安装黑苹果/37.jpg" alt="37"></p><h3 id="合并EFI"><a href="#合并EFI" class="headerlink" title="合并EFI"></a>合并EFI</h3><p>打开<code>ESP</code>文件夹（这里要注意的是，现在有的文件夹，都是Windows的，一定不要直接删除，否则Win系统无法开机）</p><p><img src="/2019/02/03/小米PRO安装黑苹果/38.jpg" alt="38"></p><p>再次强调，若之前安装过Win系统，想要做双系统的朋友，只需要拷贝<code>EFI文件中的CLOVER</code>文件夹即可！剩下的都不需要动。用快捷键粘贴进去。</p><p><img src="/2019/02/03/小米PRO安装黑苹果/39.png" alt="39"></p><p>粘贴以后的样子，可能会多出一个APPLE文件夹，不需要搭理。</p><p><img src="/2019/02/03/小米PRO安装黑苹果/40.png" alt="40"></p><h2 id="Windows篇双硬盘版"><a href="#Windows篇双硬盘版" class="headerlink" title="[Windows篇双硬盘版]"></a>[Windows篇双硬盘版]</h2><h3 id="重启电脑-1"><a href="#重启电脑-1" class="headerlink" title="重启电脑"></a>重启电脑</h3><p>正常开机进入Windows桌面，打开DG（DiskGenius分区工具）找到<code>ESP</code>分区，点击右侧的<code>浏览文件</code></p><p>这里我就不放图了，原理与单硬盘版相同，只不过是找到你安装<code>Mac OS</code>的那个硬盘</p><h3 id="粘贴EFI"><a href="#粘贴EFI" class="headerlink" title="粘贴EFI"></a>粘贴EFI</h3><p>直接将EFI文件夹里面的所有文件复制到<code>ESP分区</code>,这里给大家看一下我的，直接带着<code>EFI</code>粘贴进去就可以了里面的都不要管</p><p><img src="/2019/02/03/小米PRO安装黑苹果/43.png" alt="43"></p><h2 id="添加启动项到BIOS"><a href="#添加启动项到BIOS" class="headerlink" title="添加启动项到BIOS"></a>添加启动项到BIOS</h2><h2 id="Windows篇单硬盘版-1"><a href="#Windows篇单硬盘版-1" class="headerlink" title="[Windows篇单硬盘版]"></a>[Windows篇单硬盘版]</h2><p>打开<code>BOOTICE</code>，看图操作，图上有序号</p><h3 id="添加盘符"><a href="#添加盘符" class="headerlink" title="添加盘符"></a>添加盘符</h3><p><img src="/2019/02/03/小米PRO安装黑苹果/41.jpg" alt="41"></p><h3 id="设置启动项"><a href="#设置启动项" class="headerlink" title="设置启动项"></a>设置启动项</h3><p>添加盘符以后，添加启动项，并且改变启动项的顺序，若开机为<code>Clover启动</code>，请调执第一位。</p><p><img src="/2019/02/03/小米PRO安装黑苹果/42.jpg" alt="42"></p><h2 id="Windows篇双硬盘版-1"><a href="#Windows篇双硬盘版-1" class="headerlink" title="[Windows篇双硬盘版]"></a>[Windows篇双硬盘版]</h2><h3 id="开机进BIOS"><a href="#开机进BIOS" class="headerlink" title="开机进BIOS"></a>开机进BIOS</h3><p>设置启动项顺序，一般主板应该是<code>boot</code>选项卡中调节，调第一启动项为你的<code>Mac OS</code>分区。</p><p>继续执行Mac OS 的重启</p><h2 id="重启重点-1"><a href="#重启重点-1" class="headerlink" title="重启重点"></a>重启重点</h2><p>这时候你可以拔掉U盘扔掉了。</p><p>本次重启是继续之前未完成的重启，进入你的<code>Mac OS的安装的硬盘</code>（这里Mac OS 的安装硬盘因为拔掉了U盘并且替换好EFI应该就只有一个了），继续安装系统时的重启过程</p><h2 id="第二阶段重启"><a href="#第二阶段重启" class="headerlink" title="第二阶段重启"></a>第二阶段重启</h2><p>第二阶段的安装会有两种界面,一种是不进安装界面直接安装,另一种是先进入安装界面直接安装,需要注意的是,无论是哪一种界面下,安装的过程中全程是禁用鼠标和键盘的,需要你做的只是耐心等待它安装完成</p><p><img src="/2019/02/03/小米PRO安装黑苹果/21-1.png" alt="21-1"></p><h3 id="设置向导"><a href="#设置向导" class="headerlink" title="设置向导"></a>设置向导</h3><p>选择国家：中国</p><p><img src="/2019/02/03/小米PRO安装黑苹果/22.png" alt="22"></p><p>设置键盘</p><p><img src="/2019/02/03/小米PRO安装黑苹果/23.png" alt="23"></p><p>你可以添加自己熟悉的输入法，然后点击继续，出现数据与隐私，阅读后点击继续</p><p><img src="/2019/02/03/小米PRO安装黑苹果/24.png" alt="24"></p><p>选择不传输任何信息，点击继续</p><p><img src="/2019/02/03/小米PRO安装黑苹果/25.png" alt="25"></p><p>点击稍后设置</p><p><img src="/2019/02/03/小米PRO安装黑苹果/26.png" alt="26"></p><p>出现<code>您确定要中法使用Apple ID来登录吗？</code>，点击跳过</p><p><img src="/2019/02/03/小米PRO安装黑苹果/27.png" alt="27"></p><p>出现条款与条件，点击同意</p><p><img src="/2019/02/03/小米PRO安装黑苹果/28.png" alt="28"></p><p>出现<code>我已经阅读并同意&quot;macOS软件许可协议&quot;</code>，点击同意</p><p><img src="/2019/02/03/小米PRO安装黑苹果/29.png" alt="29"></p><p>出现<code>创建电脑用户</code>的窗口,输入用户名和密码,点击<code>继续</code></p><h3 id="创建电脑用户"><a href="#创建电脑用户" class="headerlink" title="创建电脑用户"></a>创建电脑用户</h3><p>用户自己编辑</p><p>系统会创建初始用户，接着进行快捷设置</p><p><img src="/2019/02/03/小米PRO安装黑苹果/31.png" alt="31"></p><p>弹出界面，让你选择外观，您可以根据个人的喜好选择浅色主题或者深色主题，点击继续</p><p><img src="/2019/02/03/小米PRO安装黑苹果/32.png" alt="32"></p><p><img src="/2019/02/03/小米PRO安装黑苹果/33.png" alt="33"></p><p>出现<code>正在设置您的Mac</code>,请稍候完成设置向导</p><p><img src="/2019/02/03/小米PRO安装黑苹果/34.png" alt="34"></p><p>设置向导完成，根据选择主题的不同，分别进入不同的界面</p><h3 id="进入桌面"><a href="#进入桌面" class="headerlink" title="进入桌面"></a>进入桌面</h3><p><img src="/2019/02/03/小米PRO安装黑苹果/35.png" alt="35"></p><p>出现桌面后,整个的安装向导就完成了。</p><h2 id="安装后的系统设置"><a href="#安装后的系统设置" class="headerlink" title="安装后的系统设置"></a>安装后的系统设置</h2><p>如果没有什么问题，看到开机页面了，那么聪明的你说明你的黑苹果系统已经安装成功了。</p><h3 id="快捷键的小修改"><a href="#快捷键的小修改" class="headerlink" title="快捷键的小修改"></a>快捷键的小修改</h3><p>很多人习惯了Windows，所以这里的快捷键做一下调整，如下修改就可以了</p><p><img src="/2019/02/03/小米PRO安装黑苹果/44.png" alt="44"></p><h2 id="下载链接"><a href="#下载链接" class="headerlink" title="下载链接"></a>下载链接</h2><p>MacOS：链接: <a href="https://pan.baidu.com/s/1z96tO0D0cZu0EU5McNG09A" target="_blank" rel="noopener">https://pan.baidu.com/s/1z96tO0D0cZu0EU5McNG09A</a> 提取码: iusp </p><p>12.28EFI：链接: <a href="https://pan.baidu.com/s/1t2dHHV0uFYRSVe-IA4wRBQ" target="_blank" rel="noopener">https://pan.baidu.com/s/1t2dHHV0uFYRSVe-IA4wRBQ</a> 提取码: n4ff </p><h2 id="鸣谢与支持"><a href="#鸣谢与支持" class="headerlink" title="鸣谢与支持"></a>鸣谢与支持</h2><p>Mac OS、EFI文件及部分文章图片转载于<a href="https://blog.daliansky.net/" target="_blank" rel="noopener"><strong>黑果小兵的部落阁</strong></a></p><p>文章如又不懂的地方，可以添加我的微信，或者QQ，<code>952339610</code>，即可在线咨询！</p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h2 id=&quot;小米Pro15-6-安装黑苹果兼MacOS-Mojave安装教程&quot;&gt;&lt;a href=&quot;#小米Pro15-6-安装黑苹果兼MacOS-Mojave安装教程&quot; class=&quot;headerlink&quot; title=&quot;小米Pro15.6 安装黑苹果兼MacOS Mojave
      
    
    </summary>
    
      <category term="黑苹果" scheme="https://blog.orghub.cn/categories/%E9%BB%91%E8%8B%B9%E6%9E%9C/"/>
    
      <category term="教程" scheme="https://blog.orghub.cn/categories/%E9%BB%91%E8%8B%B9%E6%9E%9C/%E6%95%99%E7%A8%8B/"/>
    
    
      <category term="教程" scheme="https://blog.orghub.cn/tags/%E6%95%99%E7%A8%8B/"/>
    
      <category term="黑苹果" scheme="https://blog.orghub.cn/tags/%E9%BB%91%E8%8B%B9%E6%9E%9C/"/>
    
      <category term="小米" scheme="https://blog.orghub.cn/tags/%E5%B0%8F%E7%B1%B3/"/>
    
  </entry>
  
  <entry>
    <title>GitHub-Hexo-搭建个人网站详细教程</title>
    <link href="https://blog.orghub.cn/2019/01/29/GitHub-Hexo-%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E7%BD%91%E7%AB%99%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B/"/>
    <id>https://blog.orghub.cn/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/</id>
    <published>2019-01-29T04:52:17.000Z</published>
    <updated>2019-02-02T01:15:06.808Z</updated>
    
    <content type="html"><![CDATA[<p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/v2-d4c1239e75c02e8482c22017a6c8d407_1200x500.jpg" alt="v2-d4c1239e75c02e8482c22017a6c8d407_1200x500"></p><h2 id="什么是Hexo"><a href="#什么是Hexo" class="headerlink" title="什么是Hexo ?"></a>什么是Hexo ?</h2><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/v2-6890485c84748900d9dae824b7f7cbb1_hd.jpg" alt="v2-6890485c84748900d9dae824b7f7cbb1_hd"></p><p>Hexo是一款基于Node.js的静态博客框架，依赖少易于安装使用，可以方便的生成静态网页托管在GitHub和Heroku上，是搭建博客的首选框架。这里我们选用的是GitHub，你没看错，全球最大的同性恋交友网站（逃……）。Hexo同时也是GitHub上的开源项目，参见：<a href="http://link.zhihu.com/?target=https%3A//github.com/hexojs/hexo" target="_blank" rel="noopener">hexojs/hexo</a> 如果想要更加全面的了解Hexo，可以到其官网 <a href="http://link.zhihu.com/?target=https%3A//hexo.io/" target="_blank" rel="noopener">Hexo</a> 了解更多的细节，因为Hexo的创建者是台湾人，对中文的支持很友好，可以选择中文进行查看。这里，默认各位猿/媛儿都知道GitHub就不再赘述。</p><p><strong>这是我的个人博客效果:</strong> <a href="www.blog.govane.top">TheMrxk· Blog</a></p><p>下面正式从零开始搭建年轻人的第一个网站。</p><h2 id="搭建步骤："><a href="#搭建步骤：" class="headerlink" title="搭建步骤："></a><strong>搭建步骤：</strong></h2><ul><li>获得个人网站域名</li><li>GitHub创建个人仓库</li><li>安装Git</li><li>安装Node.js</li><li>安装Hexo</li><li>推送网站</li><li>绑定域名</li><li>常用的Hexo 命令</li><li>更换主题</li><li>个性化设置</li><li>添加播放器</li><li>发布文章</li></ul><h3 id="获得个人网站域名"><a href="#获得个人网站域名" class="headerlink" title="获得个人网站域名"></a>获得个人网站域名</h3><p>域名是网站的入口，也是网站的第一印象，比如饿了么的官网的域名是：<a href="http://link.zhihu.com/?target=https%3A//www.ele.me/" target="_blank" rel="noopener">https://www.ele.me/</a> ，很是巧妙。常见的有com,cn,net,org等后缀，也有小众的xyz,me,io等后缀，根据你自己的喜好，选择不同的后缀，比如我选择就是常见的com后缀。很多小众奇特的后缀在大陆是没办法备案的，网站也就无法上线。然而使用GitHub托管我们的网站，完全不需要备案，因为托管我们的网站内容的服务器在美国，而且在国内备案流程也比较繁杂，时间需要一周左右。</p><p>申请域名的地方有很多，这里推荐阿里云：<a href="http://link.zhihu.com/?target=https%3A//www.aliyun.com/" target="_blank" rel="noopener">阿里云-为了无法计算的价值</a> 申请入口：<a href="http://link.zhihu.com/?target=https%3A//wanwang.aliyun.com/domain/" target="_blank" rel="noopener">域名注册</a> 购买域名这也是我们整个搭建过程中惟一一个需要花钱的地方。如果你已经有了空闲域名就无需购买，直接使用即可。</p><h3 id="GitHub创建个人仓库"><a href="#GitHub创建个人仓库" class="headerlink" title="GitHub创建个人仓库"></a>GitHub创建个人仓库</h3><p>登录到GitHub,如果没有GitHub帐号，使用你的邮箱注册GitHub帐号：<a href="http://link.zhihu.com/?target=https%3A//github.com/" target="_blank" rel="noopener">Build software better, together</a> 点击GitHub中的New repository创建新仓库，仓库名应该为：<strong>用户名</strong>.<a href="http://link.zhihu.com/?target=http%3A//github.io" target="_blank" rel="noopener">http://github.io</a> 这个<strong>用户名</strong>使用你的GitHub帐号名称代替，这是固定写法，比如我的仓库名为：</p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/WX20190128-121920.png" alt="WX20190128-121920"></p><h3 id="安装Git"><a href="#安装Git" class="headerlink" title="安装Git"></a>安装Git</h3><p>什么是Git ?简单来说Git是开源的分布式版本控制系统，用于敏捷高效地处理项目。我们网站在本地搭建好了，需要使用Git同步到GitHub上。从Git官网下载：<a href="http://link.zhihu.com/?target=https%3A//git-scm.com/download/win" target="_blank" rel="noopener">Git - Downloading Package</a> 现在的机子基本都是64位的，选择64位的安装包，下载后安装。</p><p>在命令行里输入git测试是否安装成功。</p><p>首先查看电脑是否安装的Git，终端输入：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">git</span><br></pre></td></tr></table></figure><p>安装过则会输出：即表示成功安装</p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/查考GIT安装.png" alt="查考GIT安装"></p><p>若安装失败，参看其他详细的Git安装教程。</p><p>Mac终端为例直接输入：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">brew install git</span><br></pre></td></tr></table></figure><p>安装成功后，将你的Git与GitHub帐号绑定，</p><h3 id="创建ssh-key，配置git"><a href="#创建ssh-key，配置git" class="headerlink" title="创建ssh key，配置git"></a>创建ssh key，配置git</h3><p><strong>1，设置用户名和电子邮件（Github上每次提交都会记录他们）</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">git config --global user.name &quot;你的GitHub用户名&quot;</span><br><span class="line">git config --global user.email &quot;你的GitHub邮箱&quot;</span><br></pre></td></tr></table></figure><p><strong>2，通过终端命令创建ssh密钥</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh-keygen -t rsa -C &quot;你的GitHub邮箱&quot;</span><br></pre></td></tr></table></figure><p><a href="mailto:`952339610@qq.com" target="_blank" rel="noopener">`952339610@qq.com</a>`是我的邮件名，回车会有以下输出</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">Last login: Sat Jan  6 14:12:16 on ttys000</span><br><span class="line">WMBdeMacBook-Pro:~ *******$ ssh-keygen -t rsa -C <span class="string">"952339610@qq.com"</span></span><br><span class="line">Generating public/private rsa key pair.</span><br><span class="line">Enter file <span class="keyword">in</span> <span class="built_in">which</span> to save the key (/Users/*******/.ssh/id_rsa): </span><br><span class="line">/Users/*******/.ssh/id_rsa already exists.</span><br><span class="line">Overwrite (y/n)? n</span><br><span class="line">WMBdeMacBook-Pro:~ *******$</span><br></pre></td></tr></table></figure><p>由于这里我原来已经创建过，这里我选<strong>n</strong>，没有创建过的，会要求确认路径和输入密码，我们这使用默认的一路回车就行。成功的话会在<strong>〜/</strong>下生成.ssh文件夹，进去，打开id_rsa.pub，复制里面的关键。<br> 终端查看<code>.ssh/id_rsa.pub</code>文件</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">open .ssh/id_rsa.pub</span><br></pre></td></tr></table></figure><p>回车后，就会新弹出一个终端，然后复制里面的关键字段。</p><p><strong>3，打开<a href="http://link.zhihu.com/?target=https%3A//github.com/settings/keys" target="_blank" rel="noopener">GitHub_Settings_keys</a> 页面，新建new SSH Key</strong></p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/v2-72a3f22c080e99343c3cc4aabce10e3c_hd.jpg" alt="v2-72a3f22c080e99343c3cc4aabce10e3c_hd"></p><p>Title：随便写</p><p>Key：粘贴刚刚复制的关键字</p><p>最后点击Add SSH key。</p><p>在Git Bash中检测GitHub公钥设置是否成功。</p><p>输入 ：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh git@github.com</span><br></pre></td></tr></table></figure><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/查看是否连接.png" alt="查看是否连接"></p><p>如上则说明成功。这里之所以设置GitHub密钥原因是，通过非对称加密的公钥与私钥来完成加密，公钥放置在GitHub上，私钥放置在自己的电脑里。GitHub要求每次推送代码都是合法用户，所以每次推送都需要输入账号密码验证推送用户是否是合法用户，为了省去每次输入密码的步骤，采用了ssh，当你推送的时候，git就会匹配你的私钥跟GitHub上面的公钥是否是配对的，若是匹配就认为你是合法用户，则允许推送。这样可以保证每次的推送都是正确合法的。</p><h3 id="安装Node-js"><a href="#安装Node-js" class="headerlink" title="安装Node.js"></a>安装Node.js</h3><p>Hexo基于Node.js，Node.js下载地址：<a href="http://link.zhihu.com/?target=https%3A//nodejs.org/en/download/" target="_blank" rel="noopener">Download | Node.js</a> 下载安装包，注意安装Node.js会包含环境变量及npm的安装，安装后。</p><p>检测Node.js是否安装成功，在终端中输入 </p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">node -v</span><br></pre></td></tr></table></figure><p>检测npm是否安装成功，在终端中输入</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm -v</span><br></pre></td></tr></table></figure><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/查看node安装状态.png" alt="查看node安装状态"></p><p>到这了，安装Hexo的环境已经全部搭建完成。</p><h3 id="安装Hexo"><a href="#安装Hexo" class="headerlink" title="安装Hexo"></a>安装Hexo</h3><p><strong>1.终端下使用npm命令安装Hexo，输入</strong></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install -g hexo-cli</span><br></pre></td></tr></table></figure><p>这个安装时间较长耐心等待，安装完成后。注：这个时候可能会报错，没有关系正常现象。</p><p><strong>2.安装 Hexo 完成后，请执行下列命令，Hexo 将会在指定文件夹中新建所需要的文件。初始化我们的博客路径为默认路径，输入（folder为文件名）</strong></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">hexo init &lt;folder&gt;</span><br><span class="line"><span class="built_in">cd</span> &lt;folder&gt;</span><br><span class="line">npm install</span><br></pre></td></tr></table></figure><p>注意，这里的命令都是作用在刚刚创建的<folder>文件夹中。</folder></p><p>为了检测我们的网站雏形，分别按顺序输入以下三条命令：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo g &amp;&amp; hexo s</span><br></pre></td></tr></table></figure><p>过了漫长的等待如果<a href="http://localhost:4000/成功打开，那么就说明博客基本建立完成。" target="_blank" rel="noopener">http://localhost:4000/成功打开，那么就说明博客基本建立完成。</a></p><h3 id="推送站点"><a href="#推送站点" class="headerlink" title="推送站点"></a>推送站点</h3><p>上面只是在本地预览，接下来要做的就是就是推送网站，也就是发布网站，让我们的网站可以被更多的人访问。在设置之前，需要解释一个概念，在blog根目录里的_config.yml文件称为<strong>站点</strong>配置文件，如下图</p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/站点配置.png" alt="站点配置"></p><p>进入根目录里的themes文件夹，里面也有个_config.yml文件，这个称为<strong>主题</strong>配置文件，如下图</p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/主题配置.png" alt="主题配置"></p><p>下一步将我们的Hexo与GitHub关联起来，打开站点的配置文件_config.yml，翻到最后修改为：</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">deploy: </span><br><span class="line">type: git</span><br><span class="line">repo: 这里填入你之前在GitHub上创建仓库的完整路径，记得加上 .git</span><br><span class="line">branch: master</span><br></pre></td></tr></table></figure><p>参考如下：</p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/推送.png" alt="推送"></p><p>保存站点配置文件。</p><p>其实就是给hexo d 这个命令做相应的配置，让hexo知道你要把blog部署在哪个位置，很显然，我们部署在我们GitHub的仓库里。最后安装Git部署插件，输入命令：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-deployer-git --save</span><br></pre></td></tr></table></figure><p>这时，我们分别输入命令：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo clean &amp;&amp; hexo g &amp;&amp; hexo d</span><br></pre></td></tr></table></figure><p>完成后，打开浏览器，在地址栏输入你的放置个人网站的仓库路径，即 <a href="http://link.zhihu.com/?target=http%3A//xxxx.github.io" target="_blank" rel="noopener">http://xxxx.github.io</a> (比如我的xxxx就是我的GitHub用户名：</p><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">TheMrxk.github.io</span><br></pre></td></tr></table></figure><p>你就会发现你的博客已经上线了，可以在网络上被访问了。</p><h3 id="绑定域名"><a href="#绑定域名" class="headerlink" title="绑定域名"></a>绑定域名</h3><p>虽然在Internet上可以访问我们的网站，但是网址是GitHub提供的:<a href="http://link.zhihu.com/?target=http%3A//xxxx.github.io" target="_blank" rel="noopener">http://xxxx.github.io</a> ，而我们想使用我们自己的个性化域名，这就需要绑定我们自己的域名。这里演示的是在阿里云的域名绑定，在国内主流的域名代理厂商也就阿里云和腾讯云。登录到阿里云，进入管理控制台的域名列表，找到你的个性化域名，进入解析</p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/解析地址.png" alt="解析地址"></p><p>第一步，包括添加三条解析记录，192.30.252.153是GitHub的地址，你也可以ping你的 <a href="http://link.zhihu.com/?target=http%3A//xxxx.github.io" target="_blank" rel="noopener">http://xxxx.github.io</a> 的ip地址，填入进去。第三个记录类型是CNAME，CNAME的记录值是：你的用户名.<a href="http://link.zhihu.com/?target=http%3A//github.io" target="_blank" rel="noopener">http://github.io</a> 这里千万别弄错了。</p><p>第二步，登录GitHub，进入之前创建的仓库，点击settings，设置Custom domain，输入你的域名点击save保存。</p><p>第三步，进入本地博客文件夹 ，进入blog/source目录下，创建一个记事本文件，输入你的域名，对，只要写进你自己的域名即可。如果带有www，那么以后访问的时候必须带有www完整的域名才可以访问，但如果不带有www，以后访问的时候带不带www都可以访问。所以建议，不要带有www。这里我还是写了www(不建议带有www):</p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/cname.png" alt="cname"></p><p>保存，命名为CNAME ，注意保存成<strong>所有文件</strong>而不是<strong>txt文件</strong>。</p><p>完成这三步，进入blog目录中，按住shift键右击打开命令行，依次输入：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo clean &amp;&amp; hexo g &amp;&amp; hexo d</span><br></pre></td></tr></table></figure><p>这时候打开浏览器在地址栏输入你的个性化域名将会直接进入你自己搭建的网站。</p><h2 id="配置站点"><a href="#配置站点" class="headerlink" title="配置站点"></a>配置站点</h2><h3 id="常用的Hexo-命令"><a href="#常用的Hexo-命令" class="headerlink" title="常用的Hexo 命令"></a>常用的Hexo 命令</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo -g <span class="comment">#安装Hexo</span></span><br><span class="line">npm update hexo -g <span class="comment">#升级 </span></span><br><span class="line">hexo init <span class="comment">#初始化博客</span></span><br></pre></td></tr></table></figure><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">命令简写</span><br><span class="line">hexo n &quot;我的博客&quot; == hexo new &quot;我的博客&quot; #新建文章</span><br><span class="line">hexo g == hexo generate #生成</span><br><span class="line">hexo s == hexo server #启动服务预览</span><br><span class="line">hexo d == hexo deploy #部署</span><br><span class="line">综合</span><br><span class="line">hexo clean &amp;&amp; hexo g &amp;&amp; hexo s #清除缓存生成及预览</span><br><span class="line">hexo clean &amp;&amp; hexo g -d #清除缓存生成及上传</span><br></pre></td></tr></table></figure><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">hexo server #Hexo会监视文件变动并自动更新，无须重启服务器</span><br><span class="line">hexo server -s #静态模式</span><br><span class="line">hexo server -p 5000 #更改端口</span><br><span class="line">hexo server -i 192.168.1.1 #自定义 IP</span><br><span class="line">hexo clean #清除缓存，若是网页正常情况下可以忽略这条命令</span><br></pre></td></tr></table></figure><h3 id="更换主题"><a href="#更换主题" class="headerlink" title="更换主题"></a>更换主题</h3><p>先下载好你喜欢的主题，例如我的<a href="https://github.com/iissnan/hexo-theme-next" target="_blank" rel="noopener">NexT</a>，将站点主题拖动到themes的文件夹中，在站点配置文件中, 将<code>theme</code>字段改为<code>next</code></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">theme: next</span><br></pre></td></tr></table></figure><h3 id="个性化设置"><a href="#个性化设置" class="headerlink" title="个性化设置"></a>个性化设置</h3><p>参考文献：</p><p><a href="https://liolok.github.io/Hexo-and-NexT/" target="_blank" rel="noopener">梯子客户端收录</a></p><p><a href="https://segmentfault.com/a/1190000009544924" target="_blank" rel="noopener">hexo的next主题个性化配置教程</a></p><h3 id="添加播放器"><a href="#添加播放器" class="headerlink" title="添加播放器"></a>添加播放器</h3><p>打开网页版的网易云音乐，选择喜欢的音乐，点击生成外链播放器</p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/网易云.png" alt="网易云"></p><p>复制外链的代码</p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/外部代码.png" alt="外部代码"></p><p>在侧栏插入这首歌的音乐播放器，修改 blog\themes\next\layout_macro的sidebar.swig文件，添加刚刚复制的外链代码</p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/WX20190202-085602.png" alt="WX20190202-085602"></p><p>重新生成、部署网页，效果如下</p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/WechatIMG6142.png" alt="WechatIMG6142"></p><h2 id="写作方法"><a href="#写作方法" class="headerlink" title="写作方法"></a>写作方法</h2><h3 id="发布文章"><a href="#发布文章" class="headerlink" title="发布文章"></a>发布文章</h3><p>我们开始正式发布上线博客文章，在命令行中输入：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo n <span class="string">"博客名字"</span></span><br></pre></td></tr></table></figure><p>我们会发现在blog根目录下的source文件夹中的_post文件夹中多了一个 <strong>博客名字.md</strong> 文件，使用Markdown编辑器打开，就可以开始你的个人博客之旅了，Markdown常用的样式也就十来种，完全能够满足一般博文的样式要求，Mac推荐Typora。</p><p>给博客插入图片</p><p>1.首先把blog（hexo）目录下的_config.yml里的</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">psot_asset_folder:设置为<span class="literal">true</span></span><br></pre></td></tr></table></figure><p>2.在blog（hexo）目录下执行:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-asset-image --save</span><br></pre></td></tr></table></figure><p>3.在blog（hexo）目录下Git Bash Here，运行hexo n “博客名”来生成md博客时，会在_post目录下看到一个与博客同名的文件夹。</p><p>4.将想要上传的图片先扔到文件夹下，然后在博客中使用<a href="https://www.baidu.com/s?wd=markdown&amp;tn=24004469_oem_dg&amp;rsv_dl=gh_pl_sl_csd" target="_blank" rel="noopener">markdown</a>的格式引入图片：</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">![你想要输入的替代文字](xxxx/图片名.jpg)</span><br></pre></td></tr></table></figure><p>ps：因为博客名和文件夹名字相同，所以不需要绝对路径，只要xxxx是文件夹的名字就可以了。</p><p><img src="/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/WX20190129-132315.png" alt="WX20190129-132315"></p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;p&gt;&lt;img src=&quot;/2019/01/29/GitHub-Hexo-搭建个人网站详细教程/v2-d4c1239e75c02e8482c22017a6c8d407_1200x500.jpg&quot; alt=&quot;v2-d4c1239e75c02e8482c22017a6c8d407_1
      
    
    </summary>
    
      <category term="web前端" scheme="https://blog.orghub.cn/categories/web%E5%89%8D%E7%AB%AF/"/>
    
      <category term="个人博客" scheme="https://blog.orghub.cn/categories/web%E5%89%8D%E7%AB%AF/%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/"/>
    
    
      <category term="Hexo" scheme="https://blog.orghub.cn/tags/Hexo/"/>
    
      <category term="搭建" scheme="https://blog.orghub.cn/tags/%E6%90%AD%E5%BB%BA/"/>
    
  </entry>
  
  <entry>
    <title>Test Title</title>
    <link href="https://blog.orghub.cn/2019/01/23/test-title/"/>
    <id>https://blog.orghub.cn/2019/01/23/test-title/</id>
    <published>2019-01-23T07:40:51.000Z</published>
    <updated>2019-01-27T11:44:09.968Z</updated>
    
    <content type="html"><![CDATA[<h2 id="Welcome-to-TheMrxk-Blog"><a href="#Welcome-to-TheMrxk-Blog" class="headerlink" title="Welcome to TheMrxk Blog"></a>Welcome to TheMrxk Blog</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ This Is My First Blog!</span><br></pre></td></tr></table></figure><h3 id="Test-a-sentence"><a href="#Test-a-sentence" class="headerlink" title="Test a sentence"></a>Test a sentence</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ Hellow Word~</span><br></pre></td></tr></table></figure><h3 id="Thank-you-everyone"><a href="#Thank-you-everyone" class="headerlink" title="Thank you everyone"></a>Thank you everyone</h3><p>Ps:如果你手速足够快的快，估计你是第一个看我博客的人，17点之前私聊我微信，过来领2块钱红包！🧧</p><p>More info：By TheMrxk 小开哥</p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;h2 id=&quot;Welcome-to-TheMrxk-Blog&quot;&gt;&lt;a href=&quot;#Welcome-to-TheMrxk-Blog&quot; class=&quot;headerlink&quot; title=&quot;Welcome to TheMrxk Blog&quot;&gt;&lt;/a&gt;Welcome to TheMrx
      
    
    </summary>
    
      <category term="web前端" scheme="https://blog.orghub.cn/categories/web%E5%89%8D%E7%AB%AF/"/>
    
      <category term="测试" scheme="https://blog.orghub.cn/categories/web%E5%89%8D%E7%AB%AF/%E6%B5%8B%E8%AF%95/"/>
    
    
      <category term="Hello" scheme="https://blog.orghub.cn/tags/Hello/"/>
    
      <category term="新建" scheme="https://blog.orghub.cn/tags/%E6%96%B0%E5%BB%BA/"/>
    
  </entry>
  
  <entry>
    <title>Hello World</title>
    <link href="https://blog.orghub.cn/2017/10/28/hello-world/"/>
    <id>https://blog.orghub.cn/2017/10/28/hello-world/</id>
    <published>2017-10-28T00:39:58.000Z</published>
    <updated>2017-10-28T00:39:58.000Z</updated>
    
    <content type="html"><![CDATA[<p>Welcome to <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/" target="_blank" rel="noopener">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a href="https://hexo.io/docs/troubleshooting.html" target="_blank" rel="noopener">troubleshooting</a> or you can ask me on <a href="https://github.com/hexojs/hexo/issues" target="_blank" rel="noopener">GitHub</a>.</p><h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo new <span class="string">"My New Post"</span></span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/writing.html" target="_blank" rel="noopener">Writing</a></p><h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo server</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/server.html" target="_blank" rel="noopener">Server</a></p><h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo generate</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/generating.html" target="_blank" rel="noopener">Generating</a></p><h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo deploy</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/deployment.html" target="_blank" rel="noopener">Deployment</a></p>]]></content>
    
    <summary type="html">
    
      
      
        &lt;p&gt;Welcome to &lt;a href=&quot;https://hexo.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Hexo&lt;/a&gt;! This is your very first post. Check &lt;a href=&quot;https://hexo.
      
    
    </summary>
    
    
  </entry>
  
</feed>
