Files
2022-11-17 14:25:21 +00:00

517 lines
41 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<script src="/live2d-widget/autoload.js"></script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 6.2.0">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
<link rel="mask-icon" href="/images/logo.svg" color="#222">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">
<link rel="stylesheet" href="/lib/pace/pace-theme-minimal.min.css">
<script src="/lib/pace/pace.min.js"></script>
<script id="hexo-configurations">
var NexT = window.NexT || {};
var CONFIG = {"hostname":"example.com","root":"/","scheme":"Gemini","version":"7.8.0","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":false,"show_result":false,"style":null},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}}};
</script>
<meta name="description" content="先放工程文件内容 第一个实验提取密码dkl8。 第二个实验提取密码q2ea。">
<meta property="og:type" content="article">
<meta property="og:title" content="软件技术基础第三次实验">
<meta property="og:url" content="http://example.com/2022/11/08/%E8%BD%AF%E4%BB%B6%E6%8A%80%E6%9C%AF%E5%9F%BA%E7%A1%80%E7%AC%AC%E4%B8%89%E6%AC%A1%E5%AE%9E%E9%AA%8C/index.html">
<meta property="og:site_name" content="流量不足ow的个人博客">
<meta property="og:description" content="先放工程文件内容 第一个实验提取密码dkl8。 第二个实验提取密码q2ea。">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2022-11-08T07:29:16.000Z">
<meta property="article:modified_time" content="2022-11-08T15:48:33.338Z">
<meta property="article:author" content="llbzow">
<meta property="article:tag" content="软件技术基础">
<meta name="twitter:card" content="summary">
<link rel="canonical" href="http://example.com/2022/11/08/%E8%BD%AF%E4%BB%B6%E6%8A%80%E6%9C%AF%E5%9F%BA%E7%A1%80%E7%AC%AC%E4%B8%89%E6%AC%A1%E5%AE%9E%E9%AA%8C/">
<script id="page-configurations">
// https://hexo.io/docs/variables.html
CONFIG.page = {
sidebar: "",
isHome : false,
isPost : true,
lang : 'zh-CN'
};
</script>
<script>
(function () {
if ('') {
if (prompt('请输入文章密码') !== '') {
alert('密码错误!');
if (history.length === 1) {
location.replace("http://blog.llbzow.tk"); // 这里替换成你的首页
} else {
history.back();
}
}
}
})();
</script>
<title>软件技术基础第三次实验 | 流量不足ow的个人博客</title>
<noscript>
<style>
.use-motion .brand,
.use-motion .menu-item,
.sidebar-inner,
.use-motion .post-block,
.use-motion .pagination,
.use-motion .comments,
.use-motion .post-header,
.use-motion .post-body,
.use-motion .collection-header { opacity: initial; }
.use-motion .site-title,
.use-motion .site-subtitle {
opacity: initial;
top: initial;
}
.use-motion .logo-line-before i { left: initial; }
.use-motion .logo-line-after i { right: initial; }
</style>
</noscript>
</head>
<body itemscope itemtype="http://schema.org/WebPage">
<div class="container use-motion">
<div class="headband"></div>
<header class="header" itemscope itemtype="http://schema.org/WPHeader">
<div class="header-inner"><div class="site-brand-container">
<div class="site-nav-toggle">
<div class="toggle" aria-label="切换导航栏">
<span class="toggle-line toggle-line-first"></span>
<span class="toggle-line toggle-line-middle"></span>
<span class="toggle-line toggle-line-last"></span>
</div>
</div>
<div class="site-meta">
<a href="/" class="brand" rel="start">
<span class="logo-line-before"><i></i></span>
<h1 class="site-title">流量不足ow的个人博客</h1>
<span class="logo-line-after"><i></i></span>
</a>
</div>
<div class="site-nav-right">
<div class="toggle popup-trigger">
</div>
</div>
</div>
<nav class="site-nav">
<ul id="menu" class="main-menu menu">
<li class="menu-item menu-item-home">
<a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a>
</li>
<li class="menu-item menu-item-about">
<a href="/about/" rel="section"><i class="fa fa-user fa-fw"></i>关于</a>
</li>
<li class="menu-item menu-item-tags">
<a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签</a>
</li>
<li class="menu-item menu-item-categories">
<a href="/categories/" rel="section"><i class="fa fa-th fa-fw"></i>分类</a>
</li>
<li class="menu-item menu-item-archives">
<a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档</a>
</li>
</ul>
</nav>
</div>
</header>
<div class="back-to-top">
<i class="fa fa-arrow-up"></i>
<span>0%</span>
</div>
<main class="main">
<div class="main-inner">
<div class="content-wrap">
<div class="content post posts-expand">
<article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
<link itemprop="mainEntityOfPage" href="http://example.com/2022/11/08/%E8%BD%AF%E4%BB%B6%E6%8A%80%E6%9C%AF%E5%9F%BA%E7%A1%80%E7%AC%AC%E4%B8%89%E6%AC%A1%E5%AE%9E%E9%AA%8C/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.png">
<meta itemprop="name" content="llbzow">
<meta itemprop="description" content="">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="流量不足ow的个人博客">
</span>
<header class="post-header">
<h1 class="post-title" itemprop="name headline">
软件技术基础第三次实验
</h1>
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间2022-11-08 15:29:16 / 修改时间23:48:33" itemprop="dateCreated datePublished" datetime="2022-11-08T15:29:16+08:00">2022-11-08</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-folder"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/C%E8%AF%AD%E8%A8%80/" itemprop="url" rel="index"><span itemprop="name">C语言</span></a>
</span>
</span>
<span class="post-meta-item" title="阅读次数" id="busuanzi_container_page_pv" style="display: none;">
<span class="post-meta-item-icon">
<i class="fa fa-eye"></i>
</span>
<span class="post-meta-item-text">阅读次数:</span>
<span id="busuanzi_value_page_pv"></span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<h2 id="先放工程文件内容"><a href="#先放工程文件内容" class="headerlink" title="先放工程文件内容"></a>先放工程文件内容</h2><ul>
<li><a target="_blank" rel="noopener" href="https://pan.baidu.com/s/1l8wODgg9rfP7tozxXWfhaA" title="第一个实验">第一个实验</a>提取密码dkl8。</li>
<li><a target="_blank" rel="noopener" href="https://pan.baidu.com/s/16Mu7jjlwnOuU8ig7MBYCjA" title="第二个实验">第二个实验</a>提取密码q2ea。</li>
</ul>
<span id="more"></span>
<h3 id="第一个实验代码"><a href="#第一个实验代码" class="headerlink" title="第一个实验代码"></a>第一个实验代码</h3><figure class="highlight plaintext"><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">#include&lt;stdio.h&gt;</span><br><span class="line">#include&lt;string.h&gt;</span><br><span class="line">#include&lt;malloc.h&gt;</span><br><span class="line">#pragma warning(disable:4996)</span><br><span class="line">typedef struct student//结构体本体</span><br><span class="line">&#123;</span><br><span class="line"> int elem;</span><br><span class="line"> char num;</span><br><span class="line"> struct student *next;</span><br><span class="line">&#125;link;</span><br><span class="line">link * creatLink(int * initelem, int len) //头插法初始化链表</span><br><span class="line">&#123;</span><br><span class="line"> int i;</span><br><span class="line"> //最初状态下,头指针 H 没有任何结点,所以,插入第一个元素,就相当于是创建结点 H</span><br><span class="line"> link *H = (link*)malloc(sizeof(link));</span><br><span class="line"> H-&gt;elem = initelem[0];</span><br><span class="line"> H-&gt;next = NULL;</span><br><span class="line"> //如果采用头插法插入超过 1 个元素,则可添加到第一个结点 H 之前</span><br><span class="line"> for (i = 2; i &lt; len*2; i++) </span><br><span class="line"> &#123;</span><br><span class="line"> link * a = (link*)malloc(sizeof(link));</span><br><span class="line"> a-&gt;elem = initelem[i];</span><br><span class="line"> //插入元素时,首先将插入位置后的链表链接到新结点上</span><br><span class="line"> scanf_s(&quot;%c&quot;, &amp;(a-&gt;num));</span><br><span class="line"> a-&gt;next = H;</span><br><span class="line"> //然后再链接头指针 H</span><br><span class="line"> H = a;</span><br><span class="line"> &#125;</span><br><span class="line"> return H;</span><br><span class="line">&#125;</span><br><span class="line">void display(struct student *p) //打印函数</span><br><span class="line">&#123;</span><br><span class="line"> while (((p-&gt;elem) &gt; 1) &amp;&amp; ((p-&gt;elem) = 1)) &#123;</span><br><span class="line"> printf(&quot;%c&quot;, p-&gt;num);</span><br><span class="line"> p = p-&gt;next;</span><br><span class="line"> &#125;</span><br><span class="line"> printf(&quot;\n&quot;);</span><br><span class="line">&#125;</span><br><span class="line">int Length(struct student * L)//表长统计函数</span><br><span class="line">&#123;</span><br><span class="line"> int len = 0; //统计表长</span><br><span class="line"> struct student *p = L;</span><br><span class="line"> while (p-&gt;next != NULL) &#123;</span><br><span class="line"> p = p-&gt;next;</span><br><span class="line"> len = len + 1;</span><br><span class="line"> &#125;</span><br><span class="line"> return len/2;</span><br><span class="line">&#125;</span><br><span class="line">int main(void)</span><br><span class="line">&#123;</span><br><span class="line"> int a, i;</span><br><span class="line"> int elem[20] = &#123; 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 &#125;;</span><br><span class="line"> printf(&quot; 栈长度:&quot;);</span><br><span class="line"> scanf(&quot;%d&quot;, &amp;i);</span><br><span class="line"> link *Head = creatLink(elem, i + 1);//建立动态存储链表</span><br><span class="line"> printf(&quot;\n结构体总长度%d\n&quot;, Length(Head));//调用长度统计函数</span><br><span class="line"> if (Head-&gt;next == NULL)</span><br><span class="line"> printf(&quot;空\n&quot;);</span><br><span class="line"> else</span><br><span class="line"> printf(&quot;非空\n&quot;);//判断单链表是否为空</span><br><span class="line"> display(Head);//调用输出函数</span><br><span class="line"> free(Head);//释放栈</span><br><span class="line"> system(&quot;pause&quot;);</span><br><span class="line"> return 0;</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 plaintext"><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></pre></td><td class="code"><pre><span class="line">// 队列(链队列)还有,这不是我的原创代码,但我稍微改了改,并补充了注释。</span><br><span class="line">#include &lt;stdio.h&gt;</span><br><span class="line">#include &lt;stdlib.h&gt;</span><br><span class="line">#include &lt;malloc.h&gt;</span><br><span class="line">#include &lt;math.h&gt;</span><br><span class="line">#pragma warning(disable:4996)</span><br><span class="line"></span><br><span class="line">#define OK 1 // 执行成功</span><br><span class="line">#define ERROR 0 // 执行失败</span><br><span class="line">#define TRUE 1 // 返回值为真</span><br><span class="line">#define FALSE 0 // 返回值为假</span><br><span class="line"></span><br><span class="line">typedef int Status; // 函数返回结果类型</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">typedef struct QNode // 队列节点</span><br><span class="line">&#123;</span><br><span class="line"> char data; // 元素值</span><br><span class="line"> struct QNode *next; // 指向下一个节点的指针</span><br><span class="line">&#125; QNode, *QueuePtr;</span><br><span class="line"></span><br><span class="line">typedef struct // 链队列结构</span><br><span class="line">&#123;</span><br><span class="line"> QueuePtr front, rear; // 队头指针、队尾指针</span><br><span class="line">&#125; LinkQueue;</span><br><span class="line"></span><br><span class="line">Status InitQueue(LinkQueue *Q) // 初始化队列</span><br><span class="line">&#123;</span><br><span class="line"> Q-&gt;front = Q-&gt;rear = (QueuePtr)malloc(sizeof(QNode));// 为队头和队尾指针分配内存</span><br><span class="line"> if (!Q-&gt;front || !Q-&gt;rear) // 内存分配失败,结束程序</span><br><span class="line"> &#123;</span><br><span class="line"> exit(OVERFLOW);</span><br><span class="line"> &#125;</span><br><span class="line"> Q-&gt;front-&gt;next = NULL; // 队头节点指向NULL</span><br><span class="line"> return OK;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">Status DestroyQueue(LinkQueue *Q) // 销毁队列</span><br><span class="line">&#123;</span><br><span class="line"> </span><br><span class="line"> while (Q-&gt;front) // 当队列中还有元素的情况</span><br><span class="line"> &#123;</span><br><span class="line"> Q-&gt;rear = Q-&gt;front-&gt;next;// 队尾指针指向队头指针的下一个元素</span><br><span class="line"> free(Q-&gt;front); // 释放队头指针所在节点</span><br><span class="line"> Q-&gt;front = Q-&gt;rear; // 队头指针指向队尾指针(即原来的下一个元素)</span><br><span class="line"> &#125;</span><br><span class="line"> return OK;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">Status ClearQueue(LinkQueue *Q) // 清空队列</span><br><span class="line">&#123;</span><br><span class="line"> QueuePtr p, q; // p用来遍历队列节点q用来指向被删除的节点</span><br><span class="line"></span><br><span class="line"> Q-&gt;rear = Q-&gt;front; // 队尾指针指向队头指针</span><br><span class="line"> p = Q-&gt;front-&gt;next; // p指向队头指针的下一个节点</span><br><span class="line"> Q-&gt;front-&gt;next = NULL; // 队头指针的下一个节点指向NULL表示删除之后的所有元素</span><br><span class="line"> while (p) // 当队列中还有元素,释放头节点之后的所有节点</span><br><span class="line"> &#123;</span><br><span class="line"> q = p; // q节点指向被删除节点</span><br><span class="line"> p = p-&gt;next; // p指向队列的下一个节点</span><br><span class="line"> free(q); // 释放q节点</span><br><span class="line"> &#125;</span><br><span class="line"> return OK;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">Status QueueEmpty(LinkQueue Q)// 判断队列是否为空</span><br><span class="line">&#123;</span><br><span class="line"> if (Q.front == Q.rear) // 头指针和尾指针位置相等,队列为空</span><br><span class="line"> &#123;</span><br><span class="line"> return TRUE;</span><br><span class="line"> &#125;</span><br><span class="line"> else </span><br><span class="line"> &#123;</span><br><span class="line"> return FALSE;</span><br><span class="line"> &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">int QueueLength(LinkQueue Q) // 统计队列长度</span><br><span class="line">&#123;</span><br><span class="line"> int i = 0; // 用于统计队列长度的计数器</span><br><span class="line"> QueuePtr p; // 用于遍历队列的元素</span><br><span class="line"> p = Q.front; // p指向队头节点</span><br><span class="line"> while (p != Q.rear) // 当p没有移动到队尾指针位置</span><br><span class="line"> &#123;</span><br><span class="line"> i++; // 计数器加1</span><br><span class="line"> p = p-&gt;next; // p移动到队列的下一个节点</span><br><span class="line"> &#125;</span><br><span class="line"> return i/2; // 返回队列长度</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">Status GetHead(LinkQueue Q, char *e) // 获取队列头元素</span><br><span class="line">&#123;</span><br><span class="line"> QueuePtr p;</span><br><span class="line"> if (Q.front == Q.rear) // 队列为空,获取失败</span><br><span class="line"> &#123;</span><br><span class="line"> return ERROR;</span><br><span class="line"> &#125;</span><br><span class="line"> p = Q.front-&gt;next; // p指向队列的第一个元素</span><br><span class="line"> *e = p-&gt;data; // 将队列头元素的值赋值给e元素</span><br><span class="line"> return OK;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">Status EnQueue(LinkQueue *Q, char e) // 在队列的队尾处插入元素</span><br><span class="line">&#123;</span><br><span class="line"> QueuePtr s = (QueuePtr)malloc(sizeof(QNode));// 给新节点分配空间</span><br><span class="line"> if (!s) // 分配空间失败,结束程序</span><br><span class="line"> &#123;</span><br><span class="line"> exit(OVERFLOW);</span><br><span class="line"> &#125;</span><br><span class="line"> s-&gt;data = e; // 将值赋值给新节点</span><br><span class="line"> s-&gt;next = NULL; // 新节点指向NULL</span><br><span class="line"> Q-&gt;rear-&gt;next = s; // 队尾指针的下一个元素指向新节点</span><br><span class="line"> Q-&gt;rear = s; // 队尾指针指向新节点(新节点成为队尾指针的指向的节点)</span><br><span class="line"> return OK;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">Status DeQueue(LinkQueue *Q, char *e) // 删除队头元素</span><br><span class="line">&#123;</span><br><span class="line"> QueuePtr p; // 用于指向被删除节点 </span><br><span class="line"> if (Q-&gt;front == Q-&gt;rear) // 队列为空,出队失败</span><br><span class="line"> &#123;</span><br><span class="line"> return ERROR;</span><br><span class="line"> &#125;</span><br><span class="line"> p = Q-&gt;front-&gt;next; // p指向队列的第一个元素</span><br><span class="line"> *e = p-&gt;data; // 将队列头节点的值赋值给元素e</span><br><span class="line"> Q-&gt;front-&gt;next = p-&gt;next; // 头指针的下一个节点指向下下个节点(跳过头节点)</span><br><span class="line"> if (Q-&gt;rear == p) // 如果被删除节点是队尾指针指向的节点(删除后队列为空)</span><br><span class="line"> &#123;</span><br><span class="line"> Q-&gt;rear = Q-&gt;front; // 队尾指针指向队头指针</span><br><span class="line"> &#125;</span><br><span class="line"> free(p); // 释放队头节点</span><br><span class="line"> return OK;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">Status visit(char e) // 打印单个元素</span><br><span class="line">&#123;</span><br><span class="line"> printf(&quot;%s&quot;,&amp;e);</span><br><span class="line"> return OK;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">Status QueueTravel(LinkQueue Q) // 遍历队列中的元素</span><br><span class="line">&#123;</span><br><span class="line"> QueuePtr p; // 用于遍历队列中的节点</span><br><span class="line"> p = Q.front-&gt;next; // p指向头节点</span><br><span class="line"> printf(&quot;[ &quot;);</span><br><span class="line"> while (p) // 当队列中还有元素</span><br><span class="line"> &#123;</span><br><span class="line"> visit(p-&gt;data); // 打印当前节点的值</span><br><span class="line"> p = p-&gt;next; // p移动到队列下一个位置</span><br><span class="line"> &#125;</span><br><span class="line"> printf(&quot;]\n&quot;);</span><br><span class="line"> return OK;</span><br><span class="line">&#125;</span><br><span class="line"> /**写在主函数前的注释**/</span><br><span class="line">/**所有的函数返回值均为执行状态确定函数是否执行成功**/</span><br><span class="line">int main() </span><br><span class="line">&#123;</span><br><span class="line"> Status status; // 定义执行状态(所有的函数返回值均为这个数据结构)的结构类型</span><br><span class="line"> int j,len; // j用来遍历len用于设定链队长度</span><br><span class="line"> char i; //i用来传递字符信息</span><br><span class="line"> char e; //e用来临时储存输出字符信息</span><br><span class="line"> LinkQueue Q; // 队列</span><br><span class="line"> InitQueue(&amp;Q); // 初始化队列</span><br><span class="line"> printf(&quot;初始化队列后,队列是否为空?%s\n&quot;, QueueEmpty(Q) == TRUE ? &quot;&quot; : &quot;&quot;);//确认初始化后队列为空</span><br><span class="line"> /***开始向队列插入元素,并打印队列***/</span><br><span class="line"> printf(&quot;请输入生成队列长度:&quot;); scanf(&quot;%d&quot;, &amp;len);</span><br><span class="line"> printf(&quot;\n请输入队列元素\n&quot;);</span><br><span class="line"> for (j = 1; j &lt;= len*2; ++j) //向队列中插入len个元素</span><br><span class="line"> &#123;</span><br><span class="line"> scanf(&quot;%c&quot;,&amp;i);</span><br><span class="line"> EnQueue(&amp;Q, i); // 调用EnQueue函数依次将元素i插入队列</span><br><span class="line"> &#125;</span><br><span class="line"> printf(&quot;插入%d个元素后队列的值为&quot;,len);//输出队列</span><br><span class="line"> QueueTravel(Q); // 遍历队列</span><br><span class="line"> printf(&quot;队列的长度为:%d\n&quot;, QueueLength(Q)); // 获取队列长度并输出</span><br><span class="line"> /*** 删除队列中的全部元素,并打印对应的值 ***/</span><br><span class="line"> printf(&quot;开始删除元素:\n&quot;);</span><br><span class="line"> for (j = 0; j &lt; len*2; ++j) //在队列中出队len个元素</span><br><span class="line"> &#123;</span><br><span class="line"> DeQueue(&amp;Q, &amp;e); // 删除队头元素将值存到e中</span><br><span class="line"> printf(&quot;元素%s出队\n&quot;, &amp;e);</span><br><span class="line"> &#125;</span><br><span class="line"> printf(&quot;%d个元素出队后队列中的值为&quot;,len);//全部出队后再输出</span><br><span class="line"> QueueTravel(Q); // 遍历队列</span><br><span class="line"> printf(&quot;队列的长度为:%d\n&quot;, QueueLength(Q)); // 获取队列长度</span><br><span class="line"> /*** 清空队列元素,并释放头指针 ***/</span><br><span class="line"> ClearQueue(&amp;Q); // 清空队列元素</span><br><span class="line"> printf(&quot;清空队列后,队列是否为空:%s\n&quot;, QueueEmpty(Q) == TRUE ? &quot;&quot; : &quot;&quot;);</span><br><span class="line"> printf(&quot;队列中的元素为:&quot;);</span><br><span class="line"> QueueTravel(Q); // 遍历元素</span><br><span class="line"> return 0;</span><br><span class="line">&#125;</span><br><span class="line">/**唯一的BUG就是会在出队的时候输出锟斤拷但依旧可以看到依次输出的a,b,c,d**/</span><br></pre></td></tr></table></figure><link rel="stylesheet" href="/css/spoiler.css" type="text/css"><script src="/js/spoiler.js" type="text/javascript" async></script>
</div>
<div class="reward-container">
<div>欢迎打赏</div>
<button onclick="var qr = document.getElementById('qr'); qr.style.display = (qr.style.display === 'none') ? 'block' : 'none';">
打赏
</button>
<div id="qr" style="display: none;">
<div style="display: inline-block;">
<img src="/images/wechatpay.jpg" alt="llbzow 微信支付">
<p>微信支付</p>
</div>
</div>
</div>
<footer class="post-footer">
<div class="post-tags">
<a href="/tags/%E8%BD%AF%E4%BB%B6%E6%8A%80%E6%9C%AF%E5%9F%BA%E7%A1%80/" rel="tag"># 软件技术基础</a>
</div>
<div class="post-nav">
<div class="post-nav-item">
<a href="/2022/11/02/%E8%BD%AF%E4%BB%B6%E6%8A%80%E6%9C%AF%E5%9F%BA%E7%A1%80%E7%9A%84%E5%89%8D%E4%B8%A4%E6%AC%A1%E5%AE%9E%E9%AA%8C/" rel="prev" title="软件技术基础的前两次实验">
<i class="fa fa-chevron-left"></i> 软件技术基础的前两次实验
</a></div>
<div class="post-nav-item">
<a href="/2022/11/15/%E5%85%B3%E4%BA%8Equartus-II-11-0%E7%9A%84%E7%A0%B4%E8%A7%A3%E9%97%AE%E9%A2%98/" rel="next" title="关于quartus II 11.0的破解问题">
关于quartus II 11.0的破解问题 <i class="fa fa-chevron-right"></i>
</a></div>
</div>
</footer>
</article>
</div>
<div class="comments" id="gitalk-container"></div>
<script>
window.addEventListener('tabs:register', () => {
let { activeClass } = CONFIG.comments;
if (CONFIG.comments.storage) {
activeClass = localStorage.getItem('comments_active') || activeClass;
}
if (activeClass) {
let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
if (activeTab) {
activeTab.click();
}
}
});
if (CONFIG.comments.storage) {
window.addEventListener('tabs:click', event => {
if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
let commentClass = event.target.classList[1];
localStorage.setItem('comments_active', commentClass);
});
}
</script>
</div>
<div class="toggle sidebar-toggle">
<span class="toggle-line toggle-line-first"></span>
<span class="toggle-line toggle-line-middle"></span>
<span class="toggle-line toggle-line-last"></span>
</div>
<aside class="sidebar">
<div class="sidebar-inner">
<ul class="sidebar-nav motion-element">
<li class="sidebar-nav-toc">
文章目录
</li>
<li class="sidebar-nav-overview">
站点概览
</li>
</ul>
<!--noindex-->
<div class="post-toc-wrap sidebar-panel">
<div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#%E5%85%88%E6%94%BE%E5%B7%A5%E7%A8%8B%E6%96%87%E4%BB%B6%E5%86%85%E5%AE%B9"><span class="nav-number">1.</span> <span class="nav-text">先放工程文件内容</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%AA%8C%E4%BB%A3%E7%A0%81"><span class="nav-number">1.1.</span> <span class="nav-text">第一个实验代码</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E7%AC%AC%E4%BA%8C%E4%B8%AA%E5%AE%9E%E9%AA%8C%E4%BB%A3%E7%A0%81"><span class="nav-number">1.2.</span> <span class="nav-text">第二个实验代码</span></a></li></ol></li></ol></div>
</div>
<!--/noindex-->
<div class="site-overview-wrap sidebar-panel">
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
<img class="site-author-image" itemprop="image" alt="llbzow"
src="/images/avatar.png">
<p class="site-author-name" itemprop="name">llbzow</p>
<div class="site-description" itemprop="description"></div>
</div>
<div class="site-state-wrap motion-element">
<nav class="site-state">
<div class="site-state-item site-state-posts">
<a href="/archives/">
<span class="site-state-item-count">8</span>
<span class="site-state-item-name">日志</span>
</a>
</div>
<div class="site-state-item site-state-categories">
<a href="/categories/">
<span class="site-state-item-count">2</span>
<span class="site-state-item-name">分类</span></a>
</div>
<div class="site-state-item site-state-tags">
<a href="/tags/">
<span class="site-state-item-count">2</span>
<span class="site-state-item-name">标签</span></a>
</div>
</nav>
</div>
</div>
</div>
</aside>
<div id="sidebar-dimmer"></div>
</div>
</main>
<footer class="footer">
<div class="footer-inner">
<div class="copyright">
&copy; 2022-06
<span itemprop="copyrightYear">2022</span>
<span class="with-love">
<i class="fa fa-heart"></i>
</span>
<span class="author" itemprop="copyrightHolder">llbzow</span>
</div>
<!--
<div class="powered-by">由 <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> & <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Gemini</a> 强力驱动
</div>
-->
<div class="busuanzi-count">
<script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
<span class="post-meta-item" id="busuanzi_container_site_uv" style="display: none;">
<span class="post-meta-item-icon">
<i class="fa fa-user"></i>
</span>
<span class="site-uv" title="总访客量">
<span id="busuanzi_value_site_uv"></span>
</span>
</span>
<span class="post-meta-divider">|</span>
<span class="post-meta-item" id="busuanzi_container_site_pv" style="display: none;">
<span class="post-meta-item-icon">
<i class="fa fa-eye"></i>
</span>
<span class="site-pv" title="总访问量">
<span id="busuanzi_value_site_pv"></span>
</span>
</span>
</div>
</div>
</footer>
</div>
<script color='0,0,255' opacity='0.5' zIndex='-1' count='99' src="/lib/canvas-nest/canvas-nest.min.js"></script>
<script size="300" alpha="0.6" zIndex="-1" src="/lib/canvas-ribbon/canvas-ribbon.js"></script>
<script src="/lib/anime.min.js"></script>
<script src="/lib/velocity/velocity.min.js"></script>
<script src="/lib/velocity/velocity.ui.min.js"></script>
<script src="/js/utils.js"></script>
<script src="/js/motion.js"></script>
<script src="/js/schemes/pisces.js"></script>
<script src="/js/next-boot.js"></script>
<script defer src="/lib/three/three.min.js"></script>
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.css">
<script>
NexT.utils.loadComments(document.querySelector('#gitalk-container'), () => {
NexT.utils.getScript('//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js', () => {
var gitalk = new Gitalk({
clientID : '1e2867144d855824b913# GitHub Application Client ID',
clientSecret: '3c474768436b020bd64b81c163e40c7ac7e3f1d6# GitHub Application Client Secret',
repo : 'BlogComments# Repository name to store issues',
owner : 'llbzow# GitHub repo owner',
admin : ['llbzow# GitHub repo owner and collaborators, only these guys can initialize gitHub issues'],
id : '9ef39a933c6a5f7ea4e82e720d20c919',
language: '',
distractionFreeMode: true
});
gitalk.render('gitalk-container');
}, window.Gitalk);
});
</script>
</body>
</html>