72 lines
2.2 KiB
Markdown
72 lines
2.2 KiB
Markdown
---
|
|
layout: post
|
|
title: a post with pseudo code
|
|
date: 2024-04-15 00:01:00
|
|
description: this is what included pseudo code could look like
|
|
tags: formatting code
|
|
categories: sample-posts
|
|
pseudocode: true
|
|
---
|
|
|
|
This is an example post with some pseudo code rendered by [pseudocode](https://github.com/SaswatPadhi/pseudocode.js). The example presented here is the same as the one in the [pseudocode.js](https://saswat.padhi.me/pseudocode.js/) documentation, with only one simple but important change: everytime you would use `$`, you should use `$$` instead. Also, note that the `pseudocode` key in the front matter is set to `true` to enable the rendering of pseudo code. As an example, using this code:
|
|
|
|
````markdown
|
|
```pseudocode
|
|
% This quicksort algorithm is extracted from Chapter 7, Introduction to Algorithms (3rd edition)
|
|
\begin{algorithm}
|
|
\caption{Quicksort}
|
|
\begin{algorithmic}
|
|
\PROCEDURE{Quicksort}{$$A, p, r$$}
|
|
\IF{$$p < r$$}
|
|
\STATE $$q = $$ \CALL{Partition}{$$A, p, r$$}
|
|
\STATE \CALL{Quicksort}{$$A, p, q - 1$$}
|
|
\STATE \CALL{Quicksort}{$$A, q + 1, r$$}
|
|
\ENDIF
|
|
\ENDPROCEDURE
|
|
\PROCEDURE{Partition}{$$A, p, r$$}
|
|
\STATE $$x = A[r]$$
|
|
\STATE $$i = p - 1$$
|
|
\FOR{$$j = p$$ \TO $$r - 1$$}
|
|
\IF{$$A[j] < x$$}
|
|
\STATE $$i = i + 1$$
|
|
\STATE exchange
|
|
$$A[i]$$ with $$A[j]$$
|
|
\ENDIF
|
|
\STATE exchange $$A[i]$$ with $$A[r]$$
|
|
\ENDFOR
|
|
\ENDPROCEDURE
|
|
\end{algorithmic}
|
|
\end{algorithm}
|
|
```
|
|
````
|
|
|
|
Generates:
|
|
|
|
```pseudocode
|
|
% This quicksort algorithm is extracted from Chapter 7, Introduction to Algorithms (3rd edition)
|
|
\begin{algorithm}
|
|
\caption{Quicksort}
|
|
\begin{algorithmic}
|
|
\PROCEDURE{Quicksort}{$$A, p, r$$}
|
|
\IF{$$p < r$$}
|
|
\STATE $$q = $$ \CALL{Partition}{$$A, p, r$$}
|
|
\STATE \CALL{Quicksort}{$$A, p, q - 1$$}
|
|
\STATE \CALL{Quicksort}{$$A, q + 1, r$$}
|
|
\ENDIF
|
|
\ENDPROCEDURE
|
|
\PROCEDURE{Partition}{$$A, p, r$$}
|
|
\STATE $$x = A[r]$$
|
|
\STATE $$i = p - 1$$
|
|
\FOR{$$j = p$$ \TO $$r - 1$$}
|
|
\IF{$$A[j] < x$$}
|
|
\STATE $$i = i + 1$$
|
|
\STATE exchange
|
|
$$A[i]$$ with $$A[j]$$
|
|
\ENDIF
|
|
\STATE exchange $$A[i]$$ with $$A[r]$$
|
|
\ENDFOR
|
|
\ENDPROCEDURE
|
|
\end{algorithmic}
|
|
\end{algorithm}
|
|
```
|