C语言,如何插入一个数字序列?

插入序列:12, 4, 1, 7, 8, 10, 9, 2, 11, 6, 5

1、先插入12成为根

2、插入4在12的左子树,没有旋转

3、插入1在4的左子树,以4为中心向右单旋转,结果如下:
4
/ \
1 12

4、插入7在12的左子树,没有旋转

5、插入8在7的右子树,以8开始先左后右双旋转,结果如下:
4
/ \
1 8
/ \
7 12

6、插入10在12左子树,以8为中心开始向左单旋转,结果如下:
8
/ \
4 12
/ \ /
1 7 10

7、插入9在10 的左子树,以10为中心向右单旋转,结果如下:
8
/ \
4 10
/ \ / \
1 7 9 12

8、插入2在1的右子树,没有旋转

9、插入11在12 的左子树,没有旋转

10、插入6在7的左子树,没有旋转

11、插入5在6的左子树,以6为中心向右单旋转,结果如下:
8
/ \
4 10
/ \ / \
1 6 9 12
\ / \ /
2 5 7 11

  • 鍦c璇█杈撳嚭涓涓暟瀛楀簭鍒12345 246810 36912 15
    绛旓細for(i=1;i<=3;i++)printf("%d%d%d\n",1*i,2*i,3*i,4*i,5*i);
  • 浜岀骇C璇█:宸鏈変竴涓宸叉帓濂藉簭鐨勬暟缁,瑕佹眰杈撳叆涓涓暟鍚,鎸夊師鏉ョ殑鎺掑簭鐨勮...
    绛旓細++i) printf("%d ",a[i]); printf("\n瑕鎻掑叆鐨鏁:"); scanf("%d",&x); for(i = 0; i < n && flag; ++i) { if(a[i] > x) { for(j = n; j > i; --j) a[j] = a[j - 1];a[
  • 濡備綍鐢c璇█缂栧啓涓涓▼搴,鎸夌収涓瀹氱殑椤哄簭鎺掑垪涓浜鏁板瓧?
    绛旓細6锛庝娇鐢╢or寰幆杈撳叆搴忓垪涓殑鏁存暟锛屽苟璁剧疆搴忓垪涓瘡涓暣鏁扮殑搴忓垪鍙銆7锛庢寜鏁存暟澶у皬鎺掑簭鐨勫簭鍒椾腑鐨勬墍鏈夋暟鍊笺8锛庡皢濂芥帓搴鏁板兼坊鍔鎺掑簭缂栧彿銆9锛庢渶鍚庯紝鏍规嵁绱㈠紩杈撳嚭鎵鏈夋暣鏁扮殑鎺掑簭銆傛敞鎰忥細锛1锛変氦鎹㈡帓搴忥細鍙傜収姹傛渶澶у煎拰鏈灏忓肩殑鎬濇兂锛屾寜鍗囧簭鎺掑簭鐨勫熀鏈繃绋嬫槸灏嗙涓涓暟瀛涓庝笅涓涓暟瀛楄繘琛屾瘮杈冦傚鏋滃悗闈㈢殑...
  • c璇█涓濡備綍鐢熸垚1涓0鍒1鐨勯殢鏈烘暟
    绛旓細C璇█涓敓鎴1涓0鍒1鐨勯殢鏈烘暟鍙互鎵ц璇彞锛歠loat b=rand()/(RAND_MAX+1.0);瑙f瀽锛氭爣鍑咰搴撲腑鍑芥暟rand锛堬級鍙互鐢熸垚0~RAND_MAX涔嬮棿鐨涓涓闅忔満鏁帮紝鍏朵腑RAND_MAX 鏄痵tdlib.h 涓畾涔夌殑涓涓暣鏁帮紝瀹冧笌绯荤粺鏈夊叧銆俽and锛堬級鍑芥暟娌℃湁杈撳叆鍙傛暟锛岀洿鎺ラ氳繃琛ㄨ揪寮弐and锛堬級鏉ュ紩鐢紱鐢ㄥ嚱鏁皉and鍙栧緱鐨勯殢鏈烘暟闄や互(...
  • C璇█闂 鍒╃敤鎸囬拡瀹屾垚,瑕佹眰杈撳叆n涓暣鏁版瀯鎴涓涓簭鍒,鎼滅储杩欎竴搴忓垪...
    绛旓細include<stdio.h>struct Node {int value;Node* next;Node(){}Node(int value) { this->value = value; next = NULL; }};int main() {Node* head = new Node(-1), *p;p = head;int value, N, min, min_p, max, max_p, cnt;scanf("%d", &N);for (int i = 0; i < ...
  • 姹傛暀c璇█鎸囧畾鏁板瓧搴忓垪鐨勬寚瀹涓暟鎺掑簭姣斿璇:0123456789(涓嶉噸澶...
    绛旓細n-1]); count++; } printf("鎬绘帓搴忔柟娉:%d\n",count); }鍙互鐪嬪埌锛屾荤殑鎺掑簭鏂瑰紡鏄3024=9*8*7*6 鏍规嵁鎺掑垪缁勫悎鐨勭煡璇嗗彲浠ョ煡閬擄紝杩欏氨鐩稿綋浜9涓暟涓换鎰忔壘4涓嚭鏉ユ帓搴忕殑鏂规硶锛屼篃灏辨槸C94 缁撴灉姝g‘銆傛敞鎰忕粨鏋滀竴鍏辨湁 3024琛岋紝鎴戝彧鎴簡涓閮ㄥ垎銆
  • c璇█璁捐,宸茬煡搴忓垪1,2,3,5,8,..姹傜20椤圭殑鍊
    绛旓細{ int a[21], i;a[0] = 1, a[1] = 1;for (i = 2; i <= 20; ++i){ a[i] = a[i-1]+a[i-2];} printf ("%d\n", a[20]);return 0;} 鎴栵細int array[100]={1,1};//鏂愭尝閭e鏁板垪鍓嶄袱涓厓绱犲潎涓0 int i=0;//寰幆鍙橀噺 int n=20;//鏁板垪闇瑕佹眰鐨涓暟 int ...
  • c璇█鐢ㄩ摼琛ㄥ疄鐜:鎵撳嵃杈撳嚭鏁版嵁搴忓垪10銆8銆9銆6銆4銆3銆1,鐒跺悗灏9鍒犻櫎...
    绛旓細鎿嶄綔缁撴灉锛氳繑鍥濴涓暟鎹厓绱涓暟 */int listLength (linkList L) {int i = 0;linkList p = L->next; /* p鎸囧悜绗涓涓缁撶偣 */while (p) { /* 娌″埌琛ㄥ熬 */ i++; p=p->next;}return i;}/* 瀵绘壘鎸囧畾鐗瑰緛(compare)鍏冪礌鐨勪綅搴 *//* 鍒濆鏉′欢: 绾挎ц〃L宸插瓨鍦紝compare()鏄...
  • c璇█缂栫▼:鏈変竴鍒嗘暟搴忓垪:2/1,3/2,5/3,8/5,13/8,21/13鈥︹︽眰鍓20涓殑鍜...
    绛旓細include<stdio.h> int get(int a,int b,int num){ if( num == 1)return a;else if(num == 2)return b;esle { while (num -- >= 2)return get( a,b,num-1)+get(a,b,num-2);} } int main(){ int i = 0;double sum = 0;for (i = 1;i <= 20;i++)sum += ...
  • C璇█姹傝В(鍦涓涓鏁存暟搴忓垪涓煡鎵剧粰瀹氱殑鏁存暟x,鑻ユ煡鍒板垯杈撳嚭浣嶇疆,鍚﹀垯杈 ...
    绛旓細杩欐牱鏉ュ啓锛屽厛瀹氫箟涓涓鏁扮粍锛屽畾涔夌殑澶т竴鐐癸紝姣斿锛歩nt A[1000];杈撳叆鐨勬椂鍊欙紝鐢╢or鎴栬厀hile閮藉彲浠ワ紝姣斿鍏坕nt i=0;while(cin>>a[i]){i++;}杩欎釜鏄湪杈撳叆ctrl+z鐨勬椂鍊欑粨鏉熻緭鍏ャ傦紝鏁扮粍鐨勯暱搴︽槸i,甯屾湜甯埌浣
  • 扩展阅读:c++编程适合几岁学 ... c语言请输入一个数字 ... c#怎么输入一个数字 ... c语言反序输出数字 ... c#语言翻译器 ... c语言怎么把数字颠倒 ... 编程θ怎么打 ... c怎么输入一连串数字 ... c语言开发的四个步骤 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网