成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

程序員考試筆記四:排序算法

企業動態 算法
程序員考試筆記。

真的不知道為什么,我所有WORD的日期都變了,可是是WORD的宏病毒吧。但是為什么感染上的呢?這下可真奇怪了,我沒有用過宏啊。算了,現在沒有時間去理會它了,我要抓緊時間寫完這篇補習日記。

今天的課程里終于到了重點了,就是算法,因為才剛開始,先從容易的排序算法開始說,抄了一道題目讓我們做,如下:

  已有一個已排序的數組,今輸入一個數,要求按原來的排序規律將它插入數組中。

看到了這個題目我覺得自己比較有把握,很快的就寫了出來,可是誰知道我的程序有一個至命的地方,剛給老師看的時候還得意洋洋,可是看完指出我的錯來時真的不好受,既然都錯了,就把我所做的那個答案寫下來吧,也好讓大家比較比較。

#define n 8
main()
{
  int a[n];
  int i,j,t,s;
  for(i=1;i<=7;i++)
    a[i-1]=i*10;
  for ( i=0;i < 7;i--)
    if ( a[ i ] < a[ i+1 ] )
    { s=a[ i ] ; a[ i ] = a[ i+1] ; a[ i+1] = s; }
    for(i=0;i<7;i++)
      printf("%d,a[ i ]);
}

  看上去真的對的,沒有錯誤,可能如果不細心都走眼的了。老師就是有這種本領可以看出來,讓我慢慢道來我的錯誤吧,其實就是錯在那一個最后沒有賦值的元素,因為沒有初始傳值,隨機生成的數可能很大,也可能很少,不過如果剛好小于插入的數話,那么就不再是正確的排序了。好了,說了我的錯讓我們看一個正確的程序吧

#define N 8
main()
{
  int a[N]={20,30,40,50,60,70,80};
  int n,i;
  for(i=N-1;i>=0;i--)
  {
    if(n    else break;
  }
  a[i+1]=n;
}

  這里就是一個比較好的排序算法了,在講這些排序的時候老師畫了一個圖,如第四天圖一這個圖可以方便的表示出當時的排序情況,排起序來更清晰了。不過更重要的一點就是不排讓人只單獨看源程序那樣頭暈,根本不知道這是怎么一回事。因為我也是,自己編這個程序的時候跟著看完,看得模模糊糊的,所以我推薦大家也學一學這種方法。

  說到排序,我們又教我們一種新的排序方法,就是冒泡排序法了。記得以前我學QB里也學過,不過今天聽著老師說,自己動著手畫圖來看,真的變得清晰多了。說冒泡排序法其實也可以叫左下沉排序法,因為是按程序的兩個循環來決定,如果是按從底到頂當然就是冒泡啦,相反從頂到底就是下沉了。顯下兩個程序:

int n=6,i,j;
for ( i=n-1; i > 0; i--)
  for(j=0; j < i; j++)
    if(a[j]>a[j+1] { 交換 };

以上的是冒泡法

int n=6,i,j;
for ( i=0; i < n; i++)
  for(j=n-1; j > i; j--)
    if(a[j]這就是下沉了。

  我們今天基本上全都在練習這個排序了,快到放學了,可是老師還是把握好時間,真的一點都不浪費啊,而且還拖了半個鐘頭堂。唉~!有時候我覺得他人好,好時候真的不好??墒窃趺凑f呢,他至終都是我們的老師。那么他拖了我們半個鐘就是為了說完C語言里條件語句,不過說真的還是學到了一些東西。

  C語言里條件語句也有好幾種形式,用條件運算符 ? : ,基本的if語句,還有就是switch語句,至于最靈活都是答件運算符 ? : , 而且還是C語言里唯一的三目運算符了。為什么這么靈活,因為他的參數是表達式,C語言最靈活也就是表達式了,那么它能不靈活嗎!這里給出一個源程序:

int a=5,b=10,c=8;
if(a>b)
if(a>c)printf("a";
else if(b>c)printf("b";
else printf("c";

  這么一條源程序是否讓你看得不舒服呢,這就是C語言的另一個特點啊,你知道這條程序的答案嗎?不過其實也不難,程序也很短嘛,就讓我說出答案好了,答案不就是輸出b嘛,道理很簡單一看就出了,誰?誰?誰在這里搞亂,答案會是輸出b 嗎,笨!所以寫你功夫還不到家嘛,下面讓整理一下程序

int a=5,b=10,c=8;
if(a>b)
if(a>c)
  printf("a";
else
  if(b>c)printf("b";
else printf("c";

  這樣看清楚了嗎?答案就是什么都沒有,因為一開始第一個if語句就不成立了,那里有答案出呢!這里也看出一個情況,所以我們要陪養好代碼的格式,如果有良好的編碼風格就有好的程序。還有我今日又明白了一樣,想看看下面的if語句:

if if
else else if
if else if
else else if
if
else

  我原還以為這兩個是不同的呢,在QB里的印象是兩個不if語句呢。可是今天就給我弄明白了,大家也應該知道吧,可能就是我笨了。

  在C語言里swtich也和別的高級語言不同,你們有發現嗎?現在看看第四天圖二吧在這個圖里清楚的說明了這個語句與其的不同之處,而且條件是用常量的,所以老師說給我們聽他自己也不怎么喜歡用這個swtich語句。如果用懂了這個條件運算符? : 還真的挺方便的,這個也是可以無限嵌套的,這里不多說了,讓自己慢慢體會研究。

【編輯推薦】

  1. 程序員考試筆記三:C語言運用
責任編輯:丁小雨 來源: 51cto
相關推薦

2009-01-16 19:49:49

程序員考試數組指針

2009-01-07 21:03:53

程序員循環語句

2009-01-19 19:18:44

程序員考試筆記

2009-01-08 21:25:51

程序員筆記

2009-01-08 21:21:45

程序員筆記

2009-01-10 23:38:16

程序員考試筆記

2009-01-05 15:56:00

軟考程序員

2012-08-20 09:26:17

程序員算法排列算法

2013-12-10 09:51:18

2014-07-01 09:43:55

程序員算法

2021-09-04 23:40:53

算法程序員前端

2022-09-24 09:03:55

前端單元測試冒泡排序

2021-11-10 09:17:18

程序員排序算法搜索算法

2023-02-09 07:39:01

2018-06-04 12:41:50

程序員貪心算法分析

2019-01-21 14:13:51

程序員技能開發者

2021-01-19 15:59:14

程序員算法

2020-11-25 10:40:58

程序員技能開發者

2019-05-16 08:36:53

Eureka緩存網關

2012-03-06 09:22:46

程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级片视频免费 | 欧洲高清转码区一二区 | 欧美一区二区三区免费在线观看 | 一区二区日韩 | 中文字幕成人av | 亚洲免费福利视频 | 欧美激情a∨在线视频播放 成人免费共享视频 | 国产日韩精品一区二区三区 | 九九综合 | 亚洲久久一区 | 国产精品大片在线观看 | 国产成年人小视频 | 国产高清在线精品一区二区三区 | 97caoporn国产免费人人 | 99视频在线免费观看 | 日韩久久久久久 | 日韩高清一区 | 亚洲社区在线 | 99精品电影 | 日一区二区 | 日本aa毛片a级毛片免费观看 | 免费人成在线观看网站 | 国产japanhdxxxx麻豆 | 久久一及片 | 成人毛片在线视频 | 亚洲精品福利在线 | 久久男人天堂 | 操久久| 岛国av一区二区三区 | 日本又色又爽又黄的大片 | 亚洲在线一区二区 | 91精品久久久久久久久久 | 一级无毛片 | 成人久久久 | 99精品亚洲国产精品久久不卡 | 国产二区视频 | 亚洲精品播放 | 一级片免费网站 | 香蕉大人久久国产成人av | 欧洲一区在线观看 | 国产精品久久久久久久久免费丝袜 |