原创 只有刻意練習遞歸,才能掌握遞歸-遞歸專題8-遞歸專題-求數組中最大值的下標

代碼如下: #include <stdio.h> int max(int *A,int i,int j) {//求數組A的區間[i,j]中最大值的下標 if(i==j) return i; int x; x=max(A

原创 只有刻意練習遞歸,才能掌握遞歸-遞歸專題7-求數組中數據最大值

代碼如下: #include <stdio.h> int max(int *A,int n) {//求數組中最大值 if(n==1) return *A; int x; x=max(A+1,n-1); if(x>*A)

原创 只有刻意練習遞歸,才能掌握遞歸-遞歸專題9-遞歸專題-簡單選擇排序

對數組A[n]中的數據進行簡單選擇排序,按照從大到小排列,算法思想如下: 如果數組中不多於一個數據,不用排序。 否則: 一趟簡單選擇排序讓A[0]中存儲最大的數,把剩餘的數看成一個數組,並進行簡單選擇排序。 代碼如下: #include

原创 只有刻意練習遞歸,才能掌握遞歸-遞歸專題6-一維數組中元素倒置

大小爲n的數組的元素倒置是指:a[0]和a[n-1]交換,a[1]和a[n-1]交換,。。。,以此類推 代碼如下 #include <stdio.h> void printArray(int *A,int n) { if(n==0

原创 只有刻意練習遞歸,才能掌握遞歸-遞歸專題10--一維數組-冒泡排序

代碼如下 #include <stdio.h> void printArray(int *A,int n) { if(n==0) { return; } printf("%d ",*A); printArray(A+1

原创 只有刻意練習遞歸,才能掌握遞歸-遞歸專題3-求兩個數的最小公倍數

要求兩個整數m、n的最小公倍數, 從m、n中的最大數開始,不失一般性,假設爲x 試探x,如果能同時被m、n整除,則x就是最大公約數,否則 ++x,繼續試探 代碼如下: #include <stdio.h> int max(int x,

原创 只有刻意練習遞歸,才能掌握遞歸-遞歸專題4-打印一維數組中數據

打印數組A中的內容,也可以用遞歸實現。 先打印第一個元素,即*A的值。 然後,把剩餘部分當成數組,執行打印過程。 代碼很短,看了就懂,請欣賞。 #include <stdio.h> void printArray(int *A,in

原创 只有刻意練習遞歸,才能掌握遞歸-遞歸專題5-求斐波那契數列第n項

一、時間效率低的寫法 如下: #include <stdio.h> int fib2(int n) { if(n==1 || n==2) { return 1; } return fib2(n-1)+fib2(n-2);

原创 頭插法創建不帶頭結點的單向鏈表

本篇目的:每次輸入數據都插入到鏈表的頭部,動態構建單鏈表 一、頭插法原理 二、程序代碼   #include<stdio.h> #include<stdlib.h> struct node* CreateNode(int x) {/

原创 尾插法構建動態單向鏈表-不帶頭結點

本篇目的:編程實現每次輸入數據都插入到單鏈表的尾部。 一、原理 從head開始,基於遍歷算法,找到尾結點,用指針p指向它,將新結點temp鏈接到p的後面。  二、完整程序 #include <stdio.h> #include <st

原创 鏈表初步-構建靜態鏈表,滿足你的好奇心

本篇目的:先構建一個靜態鏈表,給大家以直觀印象。引誘你“愛”上鍊表。 本篇構建的鏈表不帶頭結點,第一個結點就是數據結點。 一、單鏈表的形態 二、單鏈表結點的C語言表示 struct node { int data; struct

原创 指針界的套娃-二級(多級)指針解析

本篇blog的目的是向大家解析一下二級指針的概念。 #include<stdio.h> int main() { int c; c=10; int *b; //一級指針 b=&c; int **a;//二級指針

原创 世事變化無常,無法預先設定,運行時申請內存空間-基於二級指針創建動態二維數組

我們也可以動態創建一個二維數組。 #include<stdio.h> #include<stdlib.h> double** CreateMatrix(int m,int n); void GenerateData(double **a

原创 在數組中查找數據-C++的find函數

在數組a中查找元素x,是一個常規性的操作。 在C語言中沒有對應的函數,在C++中有。 下面進行介紹。 對於簡單數據類型,語法形式如下: x的位置=find(開始位置,結束位置+1,x);//即對於簡單數據類型,位置就是通常意義上的指針 例

原创 用結構體處理複雜數據,用數組處理多個數據-獎學金評定系統

下表中有數據多條。現在要評獎學金,評定原則爲按成績高低排序,3%的一等獎學金,7%的二等獎學金,10%的三等獎學金。   學號 姓名 性別 年齡 成績 家庭住址 091006101 阿三 男 19