1. 程式人生 > 程式設計 >js動態實現表格新增和刪除操作

js動態實現表格新增和刪除操作

文章目錄


核心思路:比較兩個相鄰元素的大小,然後按照排序要求交換位置

升序排序

從前往後遍歷,每次取到一個最大的元素放到陣列最後
從後往前遍歷,每次取出一個最小的元素放到陣列最前面

#include<stdio.h>
void bubbleSort(int arr[], int size) {
	// 從後往前遍歷

	// bound=>邊界,表示已排序區間和待排序區間的分界線
	// [0,bount) 已排序區間
	// [bound,size) 待排序區間
	int bound = 0;
	for (; bound < size; bound++) {
		// 迴圈的次數,當 bound = size,待排序區間就沒有了,迴圈結束
// 下面的迴圈是單次迴圈具體的交換過程 for (int cur = size - 1; cur > bound;cur--) { // size -1,最後一個元素的下標 // 以 cur 為基準的相鄰元素 cur - 1,cur + 1 // 但是 cur + 1 會出現下標越界 if (arr[cur - 1] > arr[cur]) { // 不符合升序的條件,就進行交換 int tmp = arr[cur - 1]; arr[cur - 1] = arr[cur]; arr[cur] = tmp; } } } }
int main() { int arr[] = { 1,9,2,8,3,7,4,6,5 }; int size = sizeof(arr) / sizeof(arr[0]); bubbleSort(arr,size); for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } return 0; }
#include<stdio.h>
void bubbleSort(int arr[], int size) {
// 從前往後遍歷
	int bound = 0;
	for (; bound <
size; bound++) { for (int cur = bound; cur < size - 1; cur++) { if (arr[cur] > arr[cur + 1]) { int tmp = arr[cur]; arr[cur] = arr[cur + 1]; arr[cur + 1] = tmp; } } } } int main() { int arr[] = { 1,9,2,8,3,7,4,6,5 }; int size = sizeof(arr) / sizeof(arr[0]); bubbleSort(arr, size); for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } return 0; }

執行結果

降序排序

從前往後遍歷,每次取到一個最小的元素放到陣列最後
從後往前遍歷,每次取出一個最大的元素放到陣列最前面

#include<stdio.h>
void bubbleSort(int arr[], int size) {
	// 從後往前遍歷

	// bound=>邊界,表示已排序區間和待排序區間的分界線
	// [0,bount) 已排序區間
	// [bound,size) 待排序區間
	int bound = 0;
	for (; bound < size; bound++) {
		// 迴圈的次數,當 bound = size,待排序區間就沒有了,迴圈結束
		// 下面的迴圈是單次迴圈具體的交換過程
		for (int cur = size - 1; cur > bound;cur--) {
			// size -1,最後一個元素的下標
			// 以 cur 為基準的相鄰元素 cur - 1,cur + 1
			// 但是 cur + 1 會出現下標越界
			if (arr[cur - 1] < arr[cur]) {
				// 不符合降序的條件,就進行交換
				int tmp = arr[cur - 1];
				arr[cur - 1] = arr[cur];
				arr[cur] = tmp;
			}
		}
	}
}
int main() {
	int arr[] = { 1,9,2,8,3,7,4,6,5 };
	int size = sizeof(arr) / sizeof(arr[0]);
	bubbleSort(arr,size);
	for (int i = 0; i < size; i++) {
		printf("%d ", arr[i]);
	}
	return 0;
}
#include<stdio.h>
void bubbleSort(int arr[], int size) {
// 從前往後遍歷
	int bound = 0;
	for (; bound < size; bound++) {
		for (int cur = bound; cur < size - 1; cur++) {
			if (arr[cur] < arr[cur + 1]) {
				int tmp = arr[cur];
				arr[cur] = arr[cur + 1];
				arr[cur + 1] = tmp;
			}
		}
	}
}
int main() {
	int arr[] = { 1,9,2,8,3,7,4,6,5 };
	int size = sizeof(arr) / sizeof(arr[0]);
	bubbleSort(arr, size);
	for (int i = 0; i < size; i++) {
		printf("%d ", arr[i]);
	}
	return 0;
}

執行結果