Website Summary Files Commits Branches @commit @diff @stats
path: root / homework / 81281 / c2html / exampleCodeAndTestPage
diff options
context:
space:
mode:
diff --git a/homework/81281/c2html/exampleCodeAndTestPage/initialTest.c b/homework/81281/c2html/exampleCodeAndTestPage/initialTest.c
new file mode 100644
index 0000000..7f1b4cd
--- /dev/null
+++ b/homework/81281/c2html/exampleCodeAndTestPage/initialTest.c
@@ -0,0 +1,99 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+int N = 0;
+int a[750001] = {0};
+/*Problem Secrect DAA
+ */
+//// mauuu
+
+int matrix[3][3] = {{0, 0, 0}, {0, 1, 0}, {0, 1, 1}};
+int arr[3] = {0, 0, 0};
+char matrix[3][3] = {{'0', '0', '0'}, {'0', '1', '0'}, {'0', '1', '1'}};
+void swap(int* i, int* j)
+{
+ int t = *i;
+ *i = *j;
+ (*i)->go();
+ *j = t;
+}
+int partition(int l, int r)
+{
+ int randIdx = l + rand() % (r - l);
+
+ int pivot = a[randIdx];
+
+ swap(&a[l], &a[randIdx]);
+ int ind = l;
+ for (int i = l + 1; i < r; i++)
+ {
+ if (a[i] <= pivot)
+ {
+ ind++;
+ swap(&a[i], &a[ind]);
+ }
+ }
+
+ swap(&a[l], &a[ind]);
+ switch (allala)
+ {
+ case 0:
+ o = 9;
+ break;
+ default:
+ break;
+ }
+ return ind;
+}
+void quickSort(int l, int r)
+{
+ if (l < r)
+ {
+ int idx = partition(l, r);
+ quickSort(l, idx);
+ quickSort(idx + 1, r);
+ }
+}
+int binarySearch(int k)
+{
+
+ int middle, left = 0, right = N - 1;
+ if (k < a[left])
+ return (-1);
+ if (k == a[left])
+ return (left + 1);
+ if (k > a[right])
+ return (-1);
+
+ while (right - left > 1)
+ {
+ middle = (left + right) / 2;
+ if (k <= a[middle])
+ right = middle;
+ else
+ left = middle;
+ }
+ int j = 4 * 5;
+ int k = 6 * j;
+ return ((right <= N - 1 && a[right] == k) ? (right + 1) : (-1));
+}
+
+int main()
+{
+ srand(time(0));
+ scanf("%d", &N);
+ for (int i = 0; i < N; ++i)
+ {
+ scanf("%d ", &a[i]);
+ }
+ quickSort(0, N);
+
+ int tmp = 0;
+ scanf("%d", &tmp);
+ while (tmp != 0)
+ {
+ printf("%d\n", binarySearch(tmp));
+ scanf("%d", &tmp);
+ }
+ return 0;
+}
diff --git a/homework/81281/c2html/exampleCodeAndTestPage/messyCode.c b/homework/81281/c2html/exampleCodeAndTestPage/messyCode.c
new file mode 100644
index 0000000..4ac99b4
--- /dev/null
+++ b/homework/81281/c2html/exampleCodeAndTestPage/messyCode.c
@@ -0,0 +1,139 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+int N = 0;
+int a[750001] = {0};
+struct Books
+{
+ char title[50];
+ char author[50];
+ char subject[100];
+ int book_id;
+ void dummy()
+ {
+ printf("Hello\n");
+ for (size_t i = 0; i < count; i++)
+ {
+ /*yes*/
+ }
+ }
+} book;
+
+typedef struct temp
+{
+ int a;
+
+} classTemp;
+
+void classTemp_GetData(classTemp* pThis)
+{
+ printf("Enter value of a : ");
+ scanf("%d", &(pThis->a));
+}
+
+classTemp T;
+
+struct point* biggest_point(size_t size,
+ struct point* points,
+ struct point* (*point_compare)(struct point* a,
+ struct point* b))
+{
+ int i;
+ struct point* biggest = NULL;
+
+ for (i = 0; i < size; i++)
+ {
+ biggest = point_compare(biggest, points + i);
+ }
+ return biggest;
+}
+
+int matrix[3][3] = {{0, 0, 0}, {0, 1, 0}, {0, 1, 1}};
+int arr[3] = {0, 0, 0};
+char matrix[3][3] = {{'0', '0', '0'}, {'0', '1', '0'}, {'0', '1', '1'}};
+/*Problem Secrect DAA
+/// lalalallala
+*/
+//// mauuu
+int a, b;
+void swap(int* i, int* j)
+{
+int t = *i;
+*i = *j;(*i)->go();
+*j = t;
+do
+{
+printf("mau\n");
+ } while (i > 1);
+}
+int partition(int l, int r)
+{
+int randIdx = l + rand() % (r - l);
+int pivot = a[randIdx];
+
+swap(&a[l], &a[randIdx]);
+int ind = l;
+for (int i = l + 1; i < r; i++)
+{
+if (a[i] <= pivot)
+{
+ind++;
+swap(&a[i], &a[ind]);
+switch (allala)
+ {
+ case 0:
+ o = 9;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ swap(&a[l], &a[ind]);
+ return ind;
+}
+void quickSort(int l, int r)
+{
+ if (l < r)
+ {
+ int idx = partition(l, r);
+ quickSort(l, idx);
+ quickSort(idx + 1, r);
+ }
+}
+int binarySearch(int k)
+{
+ int middle, left = 0, right = N - 1;
+ if (k < a[left])
+ return (-1);
+ if (k == a[left])
+ return (left + 1);
+ if (k > a[right])
+ return (-1); while (right - left > 1)
+ {
+ middle = (left + right) / 2;
+ if (k <= a[middle])
+right = middle;
+ else
+ left = middle;
+ }
+ return ((right <= N - 1 && a[right] == k) ? (right + 1) : (-1));
+}
+
+int main()
+{
+ srand(time(0));
+ scanf("%d", &N);
+ for (int i = 0; i < N; ++i)
+ {
+ scanf("%d ", &a[i]);
+ }
+ quickSort(0, N);
+ int tmp = 0; scanf("%d", &tmp);while (tmp != 0)
+ {
+printf("%d\n", binarySearch(tmp));
+ scanf("%d", &tmp);
+ }
+ return 0;
+}
diff --git a/homework/81281/c2html/exampleCodeAndTestPage/page.html b/homework/81281/c2html/exampleCodeAndTestPage/page.html
new file mode 100644
index 0000000..15ebd7a
--- /dev/null
+++ b/homework/81281/c2html/exampleCodeAndTestPage/page.html
@@ -0,0 +1,266 @@
+<!doctype>
+<html>
+
+ <head>
+ <title>hello.c</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <style>
+ .keyword {
+ color: blue;
+ }
+
+ .number {
+ color: violet;
+ }
+
+ .identifier {
+ color: green;
+ }
+
+ .operator {
+ font-style: bold;
+ color: blue;
+ }
+
+ .comment {
+ color: lime;
+ }
+
+ .string {
+ color: orange;
+ }
+
+ .parenthese {
+ font-style: bold;
+ color: brown;
+ }
+
+ .quotation {
+ font-style: bold;
+ color: black;
+ }
+
+ .unknown {
+ font-style: bold;
+ color: red;
+ }
+
+ .function {
+ color: purple;
+ }
+
+ .collapsible {
+ background-color: PaleGreen;
+ cursor: pointer;
+ padding: 10px;
+ width: 100%;
+ border: none;
+ text-align: left;
+ outline: none;
+ font-size: 15px;
+ }
+
+ .active,
+ .collapsible:hover {
+ background-color: PaleGoldenRod;
+ }
+
+ .content {
+ padding: 0 18px;
+ display: none;
+ overflow: hidden;
+ background-color: #f1f1f1;
+ }
+ </style>
+ </head>
+
+ <body>
+ <pre class="code"><span class="keyword">#include</span> <span class="string">&lt;stdio.h&gt;</span>
+<span class="keyword">#include</span> <span class="string">&lt;stdlib.h&gt;</span>
+<span class="keyword">#include</span> <span class="string">&lt;time.h&gt;</span>
+<span class="keyword">int</span> <span class="identifier">N</span> <span class="operator">=</span> <span class="number">0</span><span class="parenthese">;</span>
+<span class="keyword">int</span> <span class="identifier">a</span><span class="parenthese">[</span><span class="number">750001</span><span class="parenthese">]</span> <span class="operator">=</span> <span class="parenthese">{</span><span class="number">0</span><span class="parenthese">}</span><span class="parenthese">;</span>
+<button class="collapsible"><span class="keyword">struct</span> <span class="identifier">Books</span>
+</span></button>
+<div class="content"><span class="parenthese">{</span>
+ <span class="keyword">char</span> <span class="identifier">title</span><span class="parenthese">[</span><span class="number">50</span><span class="parenthese">]</span><span class="parenthese">;</span>
+ <span class="keyword">char</span> <span class="identifier">author</span><span class="parenthese">[</span><span class="number">50</span><span class="parenthese">]</span><span class="parenthese">;</span>
+ <span class="keyword">char</span> <span class="identifier">subject</span><span class="parenthese">[</span><span class="number">100</span><span class="parenthese">]</span><span class="parenthese">;</span>
+ <span class="keyword">int</span> <span class="identifier">book_id</span><span class="parenthese">;</span>
+<button class="collapsible"> <span class="keyword">void</span> <span class="function">dummy</span><span class="parenthese">(</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"> <span class="parenthese">{</span>
+ <span class="function">printf</span><span class="parenthese">(</span><span class="quotation">"</span><span class="identifier">Hello</span><span class="identifier">\n</span><span class="quotation">"</span><span class="parenthese">)</span><span class="parenthese">;</span>
+<button class="collapsible"> <span class="keyword">for</span> <span class="parenthese">(</span><span class="identifier">size_t</span> <span class="identifier">i</span> <span class="operator">=</span> <span class="number">0</span><span class="parenthese">;</span> <span class="identifier">i</span> <span class="operator"><</span> <span class="identifier">count</span><span class="parenthese">;</span> <span class="identifier">i</span><span class="operator">++</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"> <span class="parenthese">{</span>
+ <span class="comment">/*yes*/</span>
+ <span class="parenthese">}</span>
+
+</div> <span class="parenthese">}</span>
+
+</div><span class="parenthese">}</span> <span class="identifier">book</span><span class="parenthese">;</span>
+
+</div><span class="keyword">typedef</span> <span class="keyword">struct</span> <span class="identifier">temp</span>
+<span class="parenthese">{</span>
+ <span class="keyword">int</span> <span class="identifier">a</span><span class="parenthese">;</span>
+<span class="parenthese">}</span> <span class="identifier">classTemp</span><span class="parenthese">;</span>
+
+<button class="collapsible"><span class="keyword">void</span> <span class="function">classTemp_GetData</span><span class="parenthese">(</span><span class="identifier">classTemp</span> <span class="operator">*</span> <span class="identifier">pThis</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"><span class="parenthese">{</span>
+ <span class="function">printf</span><span class="parenthese">(</span><span class="quotation">"</span><span class="identifier">Enter</span><span class="identifier">value</span><span class="identifier">of</span><span class="identifier">a</span><span class="parenthese">:</span><span class="quotation">"</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="function">scanf</span><span class="parenthese">(</span><span class="quotation">"</span><span class="number">%d</span><span class="quotation">"</span><span class="quotation">,</span> <span class="operator">&</span> <span class="parenthese">(</span><span class="identifier">pThis</span><span class="operator">-></span><span class="identifier">a</span><span class="parenthese">)</span><span class="parenthese">)</span><span class="parenthese">;</span>
+<span class="parenthese">}</span>
+
+</div><span class="identifier">classTemp</span> <span class="identifier">T</span><span class="parenthese">;</span>
+<button class="collapsible"><span class="keyword">struct</span> <span class="identifier">point</span> <span class="operator">*</span> <span class="function">biggest_point</span><span class="parenthese">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="quotation">,</span> <span class="keyword">struct</span> <span class="identifier">point</span> <span class="operator">*</span> <span class="identifier">points</span><span class="quotation">,</span> <span class="keyword">struct</span> <span class="identifier">point</span> <span class="operator">*</span> <span class="parenthese">(</span><span class="operator">*</span><span class="identifier">point_compare</span><span class="parenthese">)</span> <span class="parenthese">(</span><span class="keyword">struct</span> <span class="identifier">point</span> <span class="operator">*</span> <span class="identifier">a</span><span class="quotation">,</span> <span class="keyword">struct</span> <span class="identifier">point</span> <span class="operator">*</span> <span class="identifier">b</span><span class="parenthese">)</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"><span class="parenthese">{</span>
+ <span class="keyword">int</span> <span class="identifier">i</span><span class="parenthese">;</span>
+ <span class="keyword">struct</span> <span class="identifier">point</span> <span class="operator">*</span> <span class="identifier">biggest</span> <span class="operator">=</span> <span class="identifier">NULL</span><span class="parenthese">;</span>
+<button class="collapsible"> <span class="keyword">for</span> <span class="parenthese">(</span><span class="identifier">i</span> <span class="operator">=</span> <span class="number">0</span><span class="parenthese">;</span> <span class="identifier">i</span> <span class="operator"><</span> <span class="identifier">size</span><span class="parenthese">;</span> <span class="identifier">i</span><span class="operator">++</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"> <span class="parenthese">{</span>
+ <span class="identifier">biggest</span> <span class="operator">=</span> <span class="function">point_compare</span><span class="parenthese">(</span><span class="identifier">biggest</span><span class="quotation">,</span> <span class="identifier">points</span> <span class="operator">+</span> <span class="identifier">i</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="parenthese">}</span>
+
+</div> <span class="keyword">return</span> <span class="identifier">biggest</span><span class="parenthese">;</span>
+<span class="parenthese">}</span>
+
+</div><span class="keyword">int</span> <span class="identifier">matrix</span><span class="parenthese">[</span><span class="number">3</span><span class="parenthese">]</span><span class="parenthese">[</span><span class="number">3</span><span class="parenthese">]</span> <span class="operator">=</span> <span class="parenthese">{</span><span class="parenthese">{</span><span class="number">0</span><span class="quotation">,</span> <span class="number">0</span><span class="quotation">,</span> <span class="number">0</span><span class="parenthese">}</span><span class="quotation">,</span> <span class="parenthese">{</span><span class="number">0</span><span class="quotation">,</span> <span class="number">1</span><span class="quotation">,</span> <span class="number">0</span><span class="parenthese">}</span><span class="quotation">,</span> <span class="parenthese">{</span><span class="number">0</span><span class="quotation">,</span> <span class="number">1</span><span class="quotation">,</span> <span class="number">1</span><span class="parenthese">}</span><span class="parenthese">}</span><span class="parenthese">;</span>
+<span class="keyword">int</span> <span class="identifier">arr</span><span class="parenthese">[</span><span class="number">3</span><span class="parenthese">]</span> <span class="operator">=</span> <span class="parenthese">{</span><span class="number">0</span><span class="quotation">,</span> <span class="number">0</span><span class="quotation">,</span> <span class="number">0</span><span class="parenthese">}</span><span class="parenthese">;</span>
+<span class="keyword">char</span> <span class="identifier">matrix</span><span class="parenthese">[</span><span class="number">3</span><span class="parenthese">]</span><span class="parenthese">[</span><span class="number">3</span><span class="parenthese">]</span> <span class="operator">=</span> <span class="parenthese">{</span><span class="parenthese">{</span><span class="quotation">'</span><span class="number">0</span><span class="quotation">'</span><span class="quotation">,</span> <span class="quotation">'</span><span class="number">0</span><span class="quotation">'</span><span class="quotation">,</span> <span class="quotation">'</span><span class="number">0</span><span class="quotation">'</span><span class="parenthese">}</span><span class="quotation">,</span> <span class="parenthese">{</span><span class="quotation">'</span><span class="number">0</span><span class="quotation">'</span><span class="quotation">,</span> <span class="quotation">'</span><span class="number">1</span><span class="quotation">'</span><span class="quotation">,</span> <span class="quotation">'</span><span class="number">0</span><span class="quotation">'</span><span class="parenthese">}</span><span class="quotation">,</span> <span class="parenthese">{</span><span class="quotation">'</span><span class="number">0</span><span class="quotation">'</span><span class="quotation">,</span> <span class="quotation">'</span><span class="number">1</span><span class="quotation">'</span><span class="quotation">,</span> <span class="quotation">'</span><span class="number">1</span><span class="quotation">'</span><span class="parenthese">}</span><span class="parenthese">}</span><span class="parenthese">;</span>
+<span class="comment">/*Problem Secrect DAA
+/// lalalallala
+*/</span>
+<span class="comment">//// mauuu</span>
+<span class="keyword">int</span> <span class="identifier">a</span><span class="quotation">,</span> <span class="identifier">b</span><span class="parenthese">;</span>
+<button class="collapsible"><span class="keyword">void</span> <span class="function">swap</span><span class="parenthese">(</span><span class="keyword">int</span> <span class="operator">*</span><span class="identifier">i</span><span class="quotation">,</span> <span class="keyword">int</span> <span class="operator">*</span><span class="identifier">j</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"><span class="parenthese">{</span>
+ <span class="keyword">int</span> <span class="identifier">t</span> <span class="operator">=</span> <span class="operator">*</span><span class="identifier">i</span><span class="parenthese">;</span>
+ <span class="operator">*</span><span class="identifier">i</span><span class="operator">=</span> <span class="operator">*</span><span class="identifier">j</span><span class="parenthese">;</span>
+ <span class="parenthese">(</span><span class="operator">*</span><span class="identifier">i</span><span class="parenthese">)</span><span class="operator">-></span><span class="function">go</span><span class="parenthese">(</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="operator">*</span><span class="identifier">j</span><span class="operator">=</span> <span class="identifier">t</span><span class="parenthese">;</span>
+<button class="collapsible"> <span class="keyword">do</span>
+</span></button>
+<div class="content"> <span class="parenthese">{</span>
+ <span class="function">printf</span><span class="parenthese">(</span><span class="quotation">"</span><span class="identifier">mau</span><span class="identifier">\n</span><span class="quotation">"</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="parenthese">}</span> <span class="keyword">while</span> <span class="parenthese">(</span><span class="identifier">i</span> <span class="operator">></span> <span class="number">1</span><span class="parenthese">)</span><span class="parenthese">;</span>
+
+</div><span class="parenthese">}</span>
+
+</div><button class="collapsible"><span class="keyword">int</span> <span class="function">partition</span><span class="parenthese">(</span><span class="keyword">int</span> <span class="identifier">l</span><span class="quotation">,</span> <span class="keyword">int</span> <span class="identifier">r</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"><span class="parenthese">{</span>
+ <span class="keyword">int</span> <span class="identifier">randIdx</span> <span class="operator">=</span> <span class="identifier">l</span> <span class="operator">+</span> <span class="function">rand</span><span class="parenthese">(</span><span class="parenthese">)</span> <span class="operator">%</span> <span class="parenthese">(</span><span class="identifier">r</span> <span class="operator">-</span> <span class="identifier">l</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="keyword">int</span> <span class="identifier">pivot</span> <span class="operator">=</span> <span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">randIdx</span><span class="parenthese">]</span><span class="parenthese">;</span>
+ <span class="function">swap</span><span class="parenthese">(</span><span class="operator">&</span><span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">l</span><span class="parenthese">]</span><span class="quotation">,</span> <span class="operator">&</span><span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">randIdx</span><span class="parenthese">]</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="keyword">int</span> <span class="identifier">ind</span> <span class="operator">=</span> <span class="identifier">l</span><span class="parenthese">;</span>
+<button class="collapsible"> <span class="keyword">for</span> <span class="parenthese">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="operator">=</span> <span class="identifier">l</span> <span class="operator">+</span> <span class="number">1</span><span class="parenthese">;</span> <span class="identifier">i</span> <span class="operator"><</span> <span class="identifier">r</span><span class="parenthese">;</span> <span class="identifier">i</span><span class="operator">++</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"> <span class="parenthese">{</span>
+<button class="collapsible"> <span class="keyword">if</span> <span class="parenthese">(</span><span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">i</span><span class="parenthese">]</span> <span class="operator"><=</span> <span class="identifier">pivot</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"> <span class="parenthese">{</span>
+ <span class="identifier">ind</span><span class="operator">++</span><span class="parenthese">;</span>
+ <span class="function">swap</span><span class="parenthese">(</span><span class="operator">&</span><span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">i</span><span class="parenthese">]</span><span class="quotation">,</span> <span class="operator">&</span><span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">ind</span><span class="parenthese">]</span><span class="parenthese">)</span><span class="parenthese">;</span>
+<button class="collapsible"> <span class="keyword">switch</span> <span class="parenthese">(</span><span class="identifier">allala</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"> <span class="parenthese">{</span>
+ <span class="keyword">case</span> <span class="number">0</span> <span class="parenthese">:</span>
+ <span class="identifier">o</span> <span class="operator">=</span> <span class="number">9</span><span class="parenthese">;</span>
+ <span class="keyword">break</span><span class="parenthese">;</span>
+ <span class="keyword">default</span> <span class="parenthese">:</span>
+ <span class="keyword">break</span><span class="parenthese">;</span>
+ <span class="parenthese">}</span>
+
+</div> <span class="parenthese">}</span>
+
+</div> <span class="parenthese">}</span>
+
+</div> <span class="function">swap</span><span class="parenthese">(</span><span class="operator">&</span><span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">l</span><span class="parenthese">]</span><span class="quotation">,</span> <span class="operator">&</span><span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">ind</span><span class="parenthese">]</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="keyword">return</span> <span class="identifier">ind</span><span class="parenthese">;</span>
+<span class="parenthese">}</span>
+
+</div><button class="collapsible"><span class="keyword">void</span> <span class="function">quickSort</span><span class="parenthese">(</span><span class="keyword">int</span> <span class="identifier">l</span><span class="quotation">,</span> <span class="keyword">int</span> <span class="identifier">r</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"><span class="parenthese">{</span>
+<button class="collapsible"> <span class="keyword">if</span> <span class="parenthese">(</span><span class="identifier">l</span> <span class="operator"><</span> <span class="identifier">r</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"> <span class="parenthese">{</span>
+ <span class="keyword">int</span> <span class="identifier">idx</span> <span class="operator">=</span> <span class="function">partition</span><span class="parenthese">(</span><span class="identifier">l</span><span class="quotation">,</span> <span class="identifier">r</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="function">quickSort</span><span class="parenthese">(</span><span class="identifier">l</span><span class="quotation">,</span> <span class="identifier">idx</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="function">quickSort</span><span class="parenthese">(</span><span class="identifier">idx</span> <span class="operator">+</span> <span class="number">1</span><span class="quotation">,</span> <span class="identifier">r</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="parenthese">}</span>
+
+</div><span class="parenthese">}</span>
+
+</div><button class="collapsible"><span class="keyword">int</span> <span class="function">binarySearch</span><span class="parenthese">(</span><span class="keyword">int</span> <span class="identifier">k</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"><span class="parenthese">{</span>
+ <span class="keyword">int</span> <span class="identifier">middle</span><span class="quotation">,</span> <span class="identifier">left</span> <span class="operator">=</span> <span class="number">0</span><span class="quotation">,</span> <span class="identifier">right</span> <span class="operator">=</span> <span class="identifier">N</span> <span class="operator">-</span> <span class="number">1</span><span class="parenthese">;</span>
+ <span class="keyword">if</span> <span class="parenthese">(</span><span class="identifier">k</span> <span class="operator"><</span> <span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">left</span><span class="parenthese">]</span><span class="parenthese">)</span>
+ <span class="keyword">return</span> <span class="parenthese">(</span><span class="number">-1</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="keyword">if</span> <span class="parenthese">(</span><span class="identifier">k</span> <span class="operator">==</span> <span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">left</span><span class="parenthese">]</span><span class="parenthese">)</span>
+ <span class="keyword">return</span> <span class="parenthese">(</span><span class="identifier">left</span> <span class="operator">+</span> <span class="number">1</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="keyword">if</span> <span class="parenthese">(</span><span class="identifier">k</span> <span class="operator">></span> <span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">right</span><span class="parenthese">]</span><span class="parenthese">)</span>
+ <span class="keyword">return</span> <span class="parenthese">(</span><span class="number">-1</span><span class="parenthese">)</span><span class="parenthese">;</span>
+<button class="collapsible"> <span class="keyword">while</span> <span class="parenthese">(</span><span class="identifier">right</span> <span class="operator">-</span> <span class="identifier">left</span> <span class="operator">></span> <span class="number">1</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"> <span class="parenthese">{</span>
+ <span class="identifier">middle</span> <span class="operator">=</span> <span class="parenthese">(</span><span class="identifier">left</span> <span class="operator">+</span> <span class="identifier">right</span><span class="parenthese">)</span> <span class="operator">/</span> <span class="number">2</span><span class="parenthese">;</span>
+ <span class="keyword">if</span> <span class="parenthese">(</span><span class="identifier">k</span> <span class="operator"><=</span> <span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">middle</span><span class="parenthese">]</span><span class="parenthese">)</span>
+ <span class="identifier">right</span> <span class="operator">=</span> <span class="identifier">middle</span><span class="parenthese">;</span>
+ <span class="keyword">else</span>
+ <span class="identifier">left</span> <span class="operator">=</span> <span class="identifier">middle</span><span class="parenthese">;</span>
+ <span class="parenthese">}</span>
+
+</div> <span class="keyword">return</span> <span class="parenthese">(</span><span class="parenthese">(</span><span class="identifier">right</span> <span class="operator"><=</span> <span class="identifier">N</span> <span class="operator">-</span> <span class="number">1</span> <span class="operator">&&</span> <span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">right</span><span class="parenthese">]</span> <span class="operator">==</span> <span class="identifier">k</span><span class="parenthese">)</span> <span class="quotation">?</span> <span class="parenthese">(</span><span class="identifier">right</span> <span class="operator">+</span> <span class="number">1</span><span class="parenthese">)</span> <span class="parenthese">:</span> <span class="parenthese">(</span><span class="number">-1</span><span class="parenthese">)</span><span class="parenthese">)</span><span class="parenthese">;</span>
+<span class="parenthese">}</span>
+
+</div><button class="collapsible"><span class="keyword">int</span> <span class="function">main</span><span class="parenthese">(</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"><span class="parenthese">{</span>
+ <span class="function">srand</span><span class="parenthese">(</span><span class="function">time</span><span class="parenthese">(</span><span class="number">0</span><span class="parenthese">)</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="function">scanf</span><span class="parenthese">(</span><span class="quotation">"</span><span class="number">%d</span><span class="quotation">"</span><span class="quotation">,</span> <span class="operator">&</span><span class="identifier">N</span><span class="parenthese">)</span><span class="parenthese">;</span>
+<button class="collapsible"> <span class="keyword">for</span> <span class="parenthese">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="operator">=</span> <span class="number">0</span><span class="parenthese">;</span> <span class="identifier">i</span> <span class="operator"><</span> <span class="identifier">N</span><span class="parenthese">;</span> <span class="operator">++</span><span class="identifier">i</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"> <span class="parenthese">{</span>
+ <span class="function">scanf</span><span class="parenthese">(</span><span class="quotation">"</span><span class="number">%d</span><span class="quotation">"</span><span class="quotation">,</span> <span class="operator">&</span><span class="identifier">a</span><span class="parenthese">[</span><span class="identifier">i</span><span class="parenthese">]</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="parenthese">}</span>
+
+</div> <span class="function">quickSort</span><span class="parenthese">(</span><span class="number">0</span><span class="quotation">,</span> <span class="identifier">N</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="keyword">int</span> <span class="identifier">tmp</span> <span class="operator">=</span> <span class="number">0</span><span class="parenthese">;</span>
+ <span class="function">scanf</span><span class="parenthese">(</span><span class="quotation">"</span><span class="number">%d</span><span class="quotation">"</span><span class="quotation">,</span> <span class="operator">&</span><span class="identifier">tmp</span><span class="parenthese">)</span><span class="parenthese">;</span>
+<button class="collapsible"> <span class="keyword">while</span> <span class="parenthese">(</span><span class="identifier">tmp</span> <span class="operator">!=</span> <span class="number">0</span><span class="parenthese">)</span>
+</span></button>
+<div class="content"> <span class="parenthese">{</span>
+ <span class="function">printf</span><span class="parenthese">(</span><span class="quotation">"</span><span class="number">%d</span><span class="identifier">\n</span><span class="quotation">"</span><span class="quotation">,</span> <span class="function">binarySearch</span><span class="parenthese">(</span><span class="identifier">tmp</span><span class="parenthese">)</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="function">scanf</span><span class="parenthese">(</span><span class="quotation">"</span><span class="number">%d</span><span class="quotation">"</span><span class="quotation">,</span> <span class="operator">&</span><span class="identifier">tmp</span><span class="parenthese">)</span><span class="parenthese">;</span>
+ <span class="parenthese">}</span>
+
+</div> <span class="keyword">return</span> <span class="number">0</span><span class="parenthese">;</span>
+<span class="parenthese">}</span>
+
+</div> <script>
+ var coll = document.getElementsByClassName("collapsible");
+ var i;
+
+ for (i = 0; i < coll.length; i++) {
+ coll[i].addEventListener("click", function() {
+ this.classList.toggle("active");
+ var content = this.nextElementSibling;
+ if (content.style.display === "block") {
+ content.style.display = "none";
+ } else {
+ content.style.display = "block";
+ }
+ });
+ }
+ </script>
+ </pre>
+ </body>
+
+</html>