一个包含嵌套递归数据结构的对象的排序实现

简介: 一个包含嵌套递归数据结构的对象的排序实现

image.png

// Import stylesheets

import "./style.css";

// Write TypeScript code!

const appDiv: HTMLElement = document.getElementById("app");

appDiv.innerHTML = `

TypeScript Starter

`;

interface person {

 id: number;

 name: string;

 age: number;

 children?: Array;

}

let person1: person = { id: 1, name: "二十岁", age: 20, children: [] };

let person2: person = { id: 2, name: "三十岁", age: 30 };

let person3: person = { id: 3, name: "十八岁", age: 18, children: [] };

let person4: person = { id: 4, name: "四十岁", age: 40 };

let person11: person = { id: 21, name: "二十岁小伙子1", age: 21 };

let person12: person = { id: 22, name: "二十岁小伙子2", age: 27 };

let person13: person = { id: 23, name: "二十岁小伙子3", age: 20 };

let person31: person = { id: 31, name: "三十岁小伙子1", age: 35 };

let person32: person = { id: 32, name: "三十岁小伙子2", age: 34 };

let person33: person = { id: 33, name: "三十岁小伙子3", age: 37 };

person1.children.push(person11);

person1.children.push(person12);

person1.children.push(person13);

person3.children.push(person31);

person3.children.push(person32);

person3.children.push(person33);

let god: person = { id: 0, name: "上帝", age: 0, children: [] };

god.children.push(person1);

god.children.push(person2);

god.children.push(person3);

god.children.push(person4);

const forSPASort = (input: person) => {

 let result: person;

 if (input.children) {

   input.children.sort(sorter);

   input.children.forEach(child => {

     forSPASort(child);

   });

 }

 return input;

};

const sorter = (a, b) => {

 console.log("Jerry, a: " + a.name + " b: " + b.name);

 return a.age - b.age;

};

const result = forSPASort(god);

console.log("result: " + result);

目录
相关文章
数据结构|排序总结(1)|直接插入排序
数据结构|排序总结(1)|直接插入排序
|
16天前
|
存储 算法 搜索推荐
【数据结构与算法】归并排序(详解:递归与非递归的归并排序 | 赠:冒泡排序和选择排序)
【数据结构与算法】归并排序(详解:递归与非递归的归并排序 | 赠:冒泡排序和选择排序)
|
21天前
|
数据处理 自然语言处理 BI
ABAP 源代码如何创建嵌套的内表,即内表列数据结构又是内表
ABAP 源代码如何创建嵌套的内表,即内表列数据结构又是内表
24 1
|
26天前
|
存储 搜索推荐 算法
【数据结构】八大排序之计数排序算法
【数据结构】八大排序之计数排序算法
11 4
|
26天前
|
搜索推荐 算法
【数据结构】八大排序之归并排序算法
【数据结构】八大排序之归并排序算法
20 5
|
26天前
|
搜索推荐 算法 编译器
【数据结构】八大排序之快速排序算法
【数据结构】八大排序之快速排序算法
35 4
|
28天前
|
算法 Python
数据结构与算法 经典排序方法(Python)
数据结构与算法 经典排序方法(Python)
24 0
|
存储 机器学习/深度学习 人工智能
【排序算法】数据结构排序详解
【排序算法】数据结构排序详解
|
1月前
数据结构--排序(2)
数据结构--排序(2)
|
搜索推荐 算法
数据结构--排序(1)
数据结构--排序(1)