Update the coding style for JavaScript (#329)

* Fix bug before commit 5eae708

* Update queue.md

* Update the coding style for JavaScript

---------

Co-authored-by: Yudong Jin <krahets@163.com>
This commit is contained in:
Justin Tse 2023-02-05 15:40:30 +08:00 committed by GitHub
parent 6778557056
commit 6ad8a66a7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 82 additions and 87 deletions

View File

@ -4,8 +4,8 @@
* Author: IsChristina (christinaxia77@foxmail.com), Justin (xiefahit@gmail.com)
*/
const PrintUtil = require("../include/PrintUtil");
const ListNode = require("../include/ListNode");
const { printLinkedList } = require("../include/PrintUtil");
const { ListNode } = require("../include/ListNode");
/* 在链表的结点 n0 之后插入结点 P */
function insert(n0, P) {
@ -62,17 +62,17 @@ n1.next = n2;
n2.next = n3;
n3.next = n4;
console.log("初始化的链表为");
PrintUtil.printLinkedList(n0);
printLinkedList(n0);
/* 插入结点 */
insert(n0, new ListNode(0));
console.log("插入结点后的链表为");
PrintUtil.printLinkedList(n0);
printLinkedList(n0);
/* 删除结点 */
remove(n0);
console.log("删除结点后的链表为");
PrintUtil.printLinkedList(n0);
printLinkedList(n0);
/* 访问结点 */
const node = access(n0, 3);

View File

@ -13,8 +13,8 @@ function randomNumbers(n) {
}
// 随机打乱数组元素
for (let i = 0; i < n; i++) {
let r = Math.floor(Math.random() * (i + 1));
let temp = nums[i];
const r = Math.floor(Math.random() * (i + 1));
const temp = nums[i];
nums[i] = nums[r];
nums[r] = temp;
}
@ -34,14 +34,12 @@ function findOne(nums) {
}
/* Driver Code */
function main() {
for (let i = 0; i < 10; i++) {
let n = 100;
let nums = randomNumbers(n);
let index = findOne(nums);
console.log(
"\n数组 [ 1, 2, ..., n ] 被打乱后 = [" + nums.join(", ") + "]"
);
console.log("数字 1 的索引为 " + index);
}
for (let i = 0; i < 10; i++) {
const n = 100;
const nums = randomNumbers(n);
const index = findOne(nums);
console.log(
"\n数组 [ 1, 2, ..., n ] 被打乱后 = [" + nums.join(", ") + "]"
);
console.log("数字 1 的索引为 " + index);
}

View File

@ -4,9 +4,7 @@
* Author: Zhuo Qinyue (1403450829@qq.com)
*/
const PrintUtil = require("../include/PrintUtil");
const ListNode = require("../include/ListNode");
const { ListNode, arrToLinkedList } = require("../include/ListNode");
/* 哈希查找(数组) */
function hashingSearchArray(map, target) {
@ -22,30 +20,26 @@ function hashingSearchLinkedList(map, target) {
return map.has(target) ? map.get(target) : null;
}
function main() {
const target = 3;
/* Driver Code */
const target = 3;
/* 哈希查找(数组) */
const nums = [1, 5, 3, 2, 4, 7, 5, 9, 10, 8];
// 初始化哈希表
const map = new Map();
for (let i = 0; i < nums.length; i++) {
map.set(nums[i], i); // key: 元素value: 索引
}
const index = hashingSearchArray(map, target);
console.log("目标元素 3 的索引 = " + index);
/* 哈希查找(链表) */
let head = new ListNode().arrToLinkedList(nums)
// 初始化哈希表
const map1 = new Map();
while (head != null) {
map1.set(head.val, head); // key: 结点值value: 结点
head = head.next;
}
const node = hashingSearchLinkedList(map1, target);
console.log("目标结点值 3 的对应结点对象为" );
PrintUtil.printLinkedList(node);
/* 哈希查找(数组) */
const nums = [1, 5, 3, 2, 4, 7, 5, 9, 10, 8];
// 初始化哈希表
const map = new Map();
for (let i = 0; i < nums.length; i++) {
map.set(nums[i], i); // key: 元素value: 索引
}
const index = hashingSearch(map, target);
console.log("目标元素 3 的索引 = " + index);
main();
/* 哈希查找(链表) */
let head = arrToLinkedList(nums)
// 初始化哈希表
const map1 = new Map();
while (head != null) {
map1.set(head.val, head); // key: 结点值value: 结点
head = head.next;
}
const node = hashingSearch1(map1, target);
console.log("目标结点值 3 的对应结点对象为", node);

View File

@ -4,7 +4,7 @@
* Author: JoseHung (szhong@link.cuhk.edu.hk)
*/
const ListNode = require("../include/ListNode");
const { ListNode, arrToLinkedList } = require("../include/ListNode");
/* 线性查找(数组) */
function linearSearchArray(nums, target) {
@ -34,15 +34,14 @@ function linearSearchLinkedList(head, target) {
}
/* Driver Code */
var target = 3;
const target = 3;
/* 在数组中执行线性查找 */
var nums = [1, 5, 3, 2, 4, 7, 5, 9, 10, 8];
var index = linearSearchArray(nums, target);
const nums = [1, 5, 3, 2, 4, 7, 5, 9, 10, 8];
const index = linearSearchArray(nums, target);
console.log("目标元素 3 的索引 = " + index);
/* 在链表中执行线性查找 */
var linkedList = new ListNode();
var head = linkedList.arrToLinkedList(nums);
var node = linearSearchLinkedList(head, target);
console.log("目标结点值 3 的对应结点对象为 " + node);
const head = arrToLinkedList(nums);
const node = linearSearchLinkedList(head, target);
console.log("目标结点值 3 的对应结点对象为 ", node);

View File

@ -4,7 +4,7 @@
* Author: S-N-O-R-L-A-X (snorlax.xu@outlook.com)
*/
const ListNode = require("../include/ListNode");
const { ListNode } = require("../include/ListNode");
/* 基于链表实现的队列 */
class LinkedListQueue {

View File

@ -4,7 +4,7 @@
* Author: S-N-O-R-L-A-X (snorlax.xu@outlook.com)
*/
const ListNode = require("../include/ListNode");
const { ListNode } = require("../include/ListNode");
/* 基于链表实现的栈 */
class LinkedListStack {

View File

@ -11,37 +11,41 @@ class ListNode {
val;
next;
constructor(val, next) {
this.val = (val === undefined ? 0 : val);
this.next = (next === undefined ? null : next);
}
/**
* Generate a linked list with an array
* @param arr
* @return
*/
arrToLinkedList(arr) {
const dum = new ListNode(0);
let head = dum;
for (const val of arr) {
head.next = new ListNode(val);
head = head.next;
}
return dum.next;
}
/**
* Get a list node with specific value from a linked list
* @param head
* @param val
* @return
*/
getListNode(head, val) {
while (head !== null && head.val !== val) {
head = head.next;
}
return head;
this.val = (val === undefined ? 0 : val);
this.next = (next === undefined ? null : next);
}
}
module.exports = ListNode
/**
* Generate a linked list with an array
* @param arr
* @return
*/
function arrToLinkedList(arr) {
const dum = new ListNode(0);
let head = dum;
for (const val of arr) {
head.next = new ListNode(val);
head = head.next;
}
return dum.next;
}
/**
* Get a list node with specific value from a linked list
* @param head
* @param val
* @return
*/
function getListNode(head, val) {
while (head !== null && head.val !== val) {
head = head.next;
}
return head;
}
module.exports = {
ListNode,
arrToLinkedList,
getListNode
};

View File

@ -2647,8 +2647,8 @@ $$
}
// 随机打乱数组元素
for (let i = 0; i < n; i++) {
let r = Math.floor(Math.random() * (i + 1));
let temp = nums[i];
const r = Math.floor(Math.random() * (i + 1));
const temp = nums[i];
nums[i] = nums[r];
nums[r] = temp;
}